# HG changeset patch # User Bernhard Herzog # Date 1176303178 -7200 # Node ID 2ff966839859fc721fb02b66e5c98632ff24ba31 # Parent b076e38954828a42d43b538857c199578e433603 web: add method to create a static status web-site diff -r b076e3895482 -r 2ff966839859 treepkg/web.py --- a/treepkg/web.py Tue Apr 10 20:15:15 2007 +0200 +++ b/treepkg/web.py Wed Apr 11 16:52:58 2007 +0200 @@ -6,6 +6,7 @@ # Read the file COPYING coming with the software for details. import os +import shutil from genshi.template import TemplateLoader @@ -52,6 +53,31 @@ else: raise cherrypy.HTTPError(status="404") + def create_static_site(self, destdir): + """Creates a static web-page under destdir""" + # make sure we have an empty destdir + shutil.rmtree(destdir, True) + os.mkdir(destdir) + + # create the index file + f = open(os.path.join(destdir, "index.html"), "wt") + f.write(self.index()) + f.close() + + # symlink the build-logs + group = report.get_packager_group(self.treepkg_config) + for track in group.get_package_tracks(): + trackdir = os.path.join(destdir, track.name) + for revision in track.get_revisions(): + revdir = os.path.join(trackdir, str(revision.revision)) + if revision.has_build_log(): + if not os.path.isdir(trackdir): + os.mkdir(trackdir) + os.mkdir(revdir) + os.symlink(revision.build_log, + os.path.join(revdir, "build.log")) + + class TreePKG(object):