From a26dca806840759cb645326582fa71be6196fb02 Mon Sep 17 00:00:00 2001 From: frisco <> Date: Tue, 5 Jul 2011 07:35:31 +0000 Subject: [PATCH] Added script and related configuration to browse all of CryptoNAS' Python code in one browser window --- .htaccess | 7 +++ bin/gen_pyindex.py | 95 ++++++++++++++++++++++++++++++++++++++++ doc/browse-py/index.html | 7 +++ doc/browse-py/intro.html | 21 +++++++++ 4 files changed, 130 insertions(+) create mode 100644 .htaccess create mode 100755 bin/gen_pyindex.py create mode 100644 doc/browse-py/index.html create mode 100644 doc/browse-py/intro.html diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..fcdf317 --- /dev/null +++ b/.htaccess @@ -0,0 +1,7 @@ +# Override server default MIME types so .py files get opened +# in developer's web browser. +# This is intended for use with the index in doc/browse-py, +# but you can disable it if it causes problems. +# See also: AddEncoding, ForceType +AddType text/plain .py + diff --git a/bin/gen_pyindex.py b/bin/gen_pyindex.py new file mode 100755 index 0000000..4eeafcb --- /dev/null +++ b/bin/gen_pyindex.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python + +# +# index_gen.py +# Laszlo Szathmary, 2011 (jabba.laci@gmail.com) +# +# Project's home page: +# https://pythonadventures.wordpress.com/2011/03/26/static-html-filelist-generator/ +# +# Version: 0.1 +# Date: 2011-03-26 (yyyy-mm-dd) +# +# This free software is copyleft licensed under the same terms as Python, or, +# at your option, under version 2 of the GPL license. +# +# James Crofts July 2011: +# Now under the GNU General Public License, version 2 +# +# Modified to exclude hidden directories such as .svn, .git, etc. +# Added support for multiple directories as arguments +# Other modifications for use in CryptoNAS development + +import os +import os.path +import sys +import re + +ofile = None + +class SimpleHtmlFilelistGenerator: + # start from this directory + base_dirs = None + exclude_re = None + + def __init__(self, dirs): + self.base_dirs = dirs + # Ignore "hidden" filenames, .pyc files, and help and documentation locations + self.exclude_re = re.compile("(\..*)|(.*\.pyc)|(.*~)|(intl)|(help)") + + def print_html_header(self): + ofile.write(""" +
+""",) + + def print_html_footer(self): + ofile.write('' + '\n')
+ home = 'https://pythonadventures.wordpress.com/2011/03/26/static-html-filelist-generator/'
+ name = 'Static HTML Filelist Generator'
+ ofile.write('
' + '\n')
+ href = "%s" % (home, name)
+ ofile.write("
+
+
+""",)
+
+ def processDirectory ( self, args, dirname, filenames):
+ #For each name in filenames, if it matches exclude_re, delete it from the list in-place
+ ofile.write('' + dirname + '/' + '' + '' + '\n')
+ os.path.walk(base_dir, self.processDirectory, None )
+ ofile.write('
' + '\n')
+ ofile.write('If you're reading this for the first time, you probably need to generate pyindex.html
+before this web page is useful. To do this, run
+bin/gen_pyindex.py
with no arguments.
+
+
Use the index on the left to browse all the Python source files in CryptoNAS, including the +Unit +Tests. This offers convenient access to some files that pydoc does not. + +
If you wish, run a webserver such that trunk
is accessible. The included
+trunk/.htaccess
+file should cause the Python files to open in the same browser window when used with some web
+servers; with others, you may have to reconfigure their MIME types manually. You may
+have to reload your browser's cache before such MIME type reassignments take effect.
+
+
+