[Treepkg-commits] r77 - in trunk: bin treepkg

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Jun 9 18:33:20 CEST 2008


Author: bh
Date: 2008-06-09 18:33:20 +0200 (Mon, 09 Jun 2008)
New Revision: 77

Modified:
   trunk/bin/createstaticweb.py
   trunk/bin/starttreepkgweb.py
   trunk/treepkg/web.py
Log:
Let the user supply the filename of the template to use for the status page.
bin/createstaticweb.py and bin/starttreepkgweb.py now have an additional
option --status-template for the filename of the template, and the code
in treepkg/web.py accepts the filename as parameter in various places.


Modified: trunk/bin/createstaticweb.py
===================================================================
--- trunk/bin/createstaticweb.py	2008-06-09 10:51:56 UTC (rev 76)
+++ trunk/bin/createstaticweb.py	2008-06-09 16:33:20 UTC (rev 77)
@@ -1,5 +1,5 @@
 #! /usr/bin/python2.4
-# Copyright (C) 2007 by Intevation GmbH
+# Copyright (C) 2007, 2008 by Intevation GmbH
 # Authors:
 # Bernhard Herzog <bh at intevation.de>
 #
@@ -16,14 +16,23 @@
 from treepkg.web import Status
 
 def parse_commandline():
-    return create_parser().parse_args()
+    parser = create_parser()
+    parser.set_defaults(status_template="status-by-revision.html")
+    parser.add_option("--status-template",
+                      help=("The template file to use for the status page."
+                            " Relative filenames are interpreted"
+                            " relative to the web subdirectory."
+                            " Default is status-by-revision.html."))
+    return parser.parse_args()
 
-def create_static_site(treepkg_config, destdir):
-    status = Status(treepkg_config=treepkg_config)
+def create_static_site(treepkg_config, status_template, destdir):
+    status = Status(treepkg_config=treepkg_config, template=status_template)
     status.create_static_site(destdir)
 
 def main():
     options, args = parse_commandline()
-    create_static_site(options.config_file, args[0])
+    create_static_site(options.config_file,
+                       options.status_template,
+                       args[0])
 
 main()

Modified: trunk/bin/starttreepkgweb.py
===================================================================
--- trunk/bin/starttreepkgweb.py	2008-06-09 10:51:56 UTC (rev 76)
+++ trunk/bin/starttreepkgweb.py	2008-06-09 16:33:20 UTC (rev 77)
@@ -1,5 +1,5 @@
 #! /usr/bin/python2.4
-# Copyright (C) 2007 by Intevation GmbH
+# Copyright (C) 2007, 2008 by Intevation GmbH
 # Authors:
 # Bernhard Herzog <bh at intevation.de>
 #
@@ -19,14 +19,21 @@
 def parse_commandline():
     parser = create_parser()
     parser.set_defaults(cherrypy_config=os.path.join(treepkgcmd.topdir,
-                                                     "cherrypy.cfg"))
+                                                     "cherrypy.cfg"),
+                        status_template="status-by-revision.html")
     parser.add_option("--cherrypy-config",
                       help=("The cherrypy config file for the web interface."
                             " Default cherrypy.cfg"))
+    parser.add_option("--status-template",
+                      help=("The template file to use for the status page."
+                            " Relative filenames are interpreted"
+                            " relative to the web subdirectory."
+                            " Default is status-by-revision.html."))
     return parser.parse_args()
 
 def main():
     options, args = parse_commandline()
-    runserver(options.config_file, options.cherrypy_config)
+    runserver(options.config_file, options.cherrypy_config,
+              status_template=options.status_template)
 
 main()

Modified: trunk/treepkg/web.py
===================================================================
--- trunk/treepkg/web.py	2008-06-09 10:51:56 UTC (rev 76)
+++ trunk/treepkg/web.py	2008-06-09 16:33:20 UTC (rev 77)
@@ -21,8 +21,9 @@
 
     """Implements the tree packager status pages"""
 
-    def __init__(self, treepkg_config):
+    def __init__(self, treepkg_config, template):
         self.treepkg_config = treepkg_config
+        self.template = template
         self.loader = TemplateLoader([os.path.join(os.path.dirname(__file__),
                                                    os.path.pardir,
                                                    "web")])
@@ -30,7 +31,7 @@
     @expose
     def index(self):
         group = report.get_packager_group(self.treepkg_config)
-        tmpl = self.loader.load('status-by-revision.html')
+        tmpl = self.loader.load(self.template)
         stream = tmpl.generate(report=report.prepare_report(group))
         return stream.render('html')
 
@@ -94,9 +95,10 @@
         raise cherrypy.HTTPRedirect('/status')
 
 
-def runserver(treepkg_config, cherrypy_config):
+def runserver(treepkg_config, cherrypy_config, status_template):
     cherrypy.root = TreePKG()
-    cherrypy.root.status = Status(treepkg_config=treepkg_config)
+    cherrypy.root.status = Status(treepkg_config=treepkg_config,
+                                  template=status_template)
 
     cherrypy.config.update(file=cherrypy_config)
     cherrypy.server.start()



More information about the Treepkg-commits mailing list