X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=generate-documentation.py;h=1a66689371506fc59d0c4c180bb28e5af8757914;hb=846038aad4815feec55d2e86b8ccfad7dc1019b6;hp=8dbc68fa8ffd24100cf53b05771d3704d25607eb;hpb=11c49f0e7c51707979bdcbabef8b2be1e0ce75db;p=dygraphs.git diff --git a/generate-documentation.py b/generate-documentation.py index 8dbc68f..1a66689 100755 --- a/generate-documentation.py +++ b/generate-documentation.py @@ -2,8 +2,9 @@ # Generate docs/options.html -import json import glob +import json +import os import re import sys @@ -53,22 +54,24 @@ def search_files(type, files): # have the same name as a Dygraph option probably will be. prop_re = re.compile(r'\b([a-zA-Z0-9]+) *:') for test_file in files: - text = file(test_file).read() - # Hack for slipping past gallery demos that have title in their attributes - # so they don't appear as reasons for the demo to have 'title' options. - if type == "gallery": - idx = text.find("function(") - if idx >= 0: - text = text[idx:] - braced_html = find_braces(text) - if debug_tests: - print braced_html - - ms = re.findall(prop_re, braced_html) - for opt in ms: - if debug_tests: print '\n'.join(ms) - if opt in docs and test_file not in docs[opt][type]: - docs[opt][type].append(test_file) + if os.path.isfile(test_file): # Basically skips directories + text = file(test_file).read() + + # Hack for slipping past gallery demos that have title in their attributes + # so they don't appear as reasons for the demo to have 'title' options. + if type == "gallery": + idx = text.find("function(") + if idx >= 0: + text = text[idx:] + braced_html = find_braces(text) + if debug_tests: + print braced_html + + ms = re.findall(prop_re, braced_html) + for opt in ms: + if debug_tests: print '\n'.join(ms) + if opt in docs and test_file not in docs[opt][type]: + docs[opt][type].append(test_file) search_files("tests", glob.glob("tests/*.html")) search_files("gallery", glob.glob("gallery/*.js")) #TODO add grep "Gallery.register\(" @@ -146,11 +149,11 @@ print """
And, without further ado, here's the complete list of options:
""" -def de_tests(f): +def test_name(f): """Takes 'tests/demo.html' -> 'demo'""" return f.replace('tests/', '').replace('.html', '') -def de_gallery(f): +def gallery_name(f): """Takes 'gallery/demo.js' -> 'demo'""" return f.replace('gallery/', '').replace('.js', '') @@ -170,14 +173,14 @@ for label in sorted(labels): examples_html = 'NONE' else: examples_html = ' '.join( - '%s' % (f, de_tests(f)) for f in tests) + '%s' % (f, test_name(f)) for f in tests) gallery = opt['gallery'] if not gallery: gallery_html = 'NONE' else: gallery_html = ' '.join( - '%s' % (urlify_gallery(f), de_gallery(f)) for f in gallery) + '%s' % (urlify_gallery(f), gallery_name(f)) for f in gallery) if 'parameters' in opt: parameters = opt['parameters']