Adding argparse to arguments --style and --output.
[treecutter.git] / src / tree-cutter.py
index b23b74ca12d454f1b36203f0a4b949fe7e9eec24..f1790b8652424094b8c388136070493866cdf4ae 100755 (executable)
@@ -7,15 +7,21 @@ import re
 import tempfile
 import errno
 import time
+import argparse
 from amara import bindery
 from amara.xslt import transform
 from Cheetah.Template import Template
 
-dist = os.path.dirname(os.getcwd())
-style = "default"
-style_xslt = dist+"/style/"+style+"/docbook.xsl"
-style_tmpl = dist+"/style/"+style+"/index.html.tmpl"
-outputdir = dist+"/htdocs/"
+parser = argparse.ArgumentParser(description='Process docbook article tree.')
+parser.add_argument('--style', nargs='?',
+                    default=os.path.dirname(os.getcwd())+'/style/default/')
+parser.add_argument('--output', nargs='?',
+                    default=os.path.dirname(os.getcwd())+'/htdocs/')
+args = parser.parse_args()
+
+style_xslt = args.style+"docbook.xsl"
+style_tmpl = args.style+"index.en.html.tmpl"
+outputdir = args.output
 
 valid_scripts = ['.py','.pl']
 MAXLEVEL = 10000
@@ -132,11 +138,10 @@ def genMenu(page,sitemap,slevel,elevel):
       idx = idx-1
     title = sitemap[idx]['menu']
     idx = idx+1
-    while (len(sitemap) <= idx and sitemap[idx]['level'] == page['level']):
+    while (idx < len(sitemap) and sitemap[idx]['level'] == page['level']):
       sm.append(sitemap[idx])
       idx = idx+1
   oldlevel = slevel
-
   html = '<ul>\n'
   for p in sm:
     if slevel > p['level'] or elevel < p['level']: