diff recipes/gnupg/gnupg2.py @ 156:27e78096a3fe

gnupg2 recipe: format the PKITS log as a HTML table
author Bernhard Herzog <bh@intevation.de>
date Wed, 11 Jun 2008 09:48:57 +0000
parents 2c942b75b98b
children 13de20d2db9f
line wrap: on
line diff
--- a/recipes/gnupg/gnupg2.py	Tue Jun 10 15:37:22 2008 +0000
+++ b/recipes/gnupg/gnupg2.py	Wed Jun 11 09:48:57 2008 +0000
@@ -12,8 +12,11 @@
 import logging
 import re
 
+from genshi.template import TemplateLoader
+
 import treepkg.packager
 import treepkg.util
+import treepkg.report
 
 import base
 base.define_gnupg_packager("gnupg2")
@@ -62,9 +65,16 @@
             logging.info("Could not find PKITS LOG in %s", self.logfile)
             return
         treepkg.util.ensure_directory(os.path.dirname(self.pkits_log))
-        outfile = open(self.pkits_log, "w")
-        outfile.writelines(testlog)
-        outfile.close()
+        treepkg.util.writefile(self.pkits_log,
+                               self.htmlize_pkits_log(testlog))
+
+    def htmlize_pkits_log(self, raw_lines):
+        loader = TemplateLoader([os.path.dirname(__file__)])
+        template = loader.load("pkits.html")
+        pkits = treepkg.report.struct(revision=self.parent.revision,
+                                      lines=raw_lines)
+        stream = template.generate(pkits=pkits)
+        return stream.render('html')
 
 
 class RevisionPackager(treepkg.packager.RevisionPackager):
@@ -72,7 +82,7 @@
     source_packager_cls = SourcePackager
     binary_packager_cls = BinaryPackager
 
-    pkits_log = treepkg.packager._filenameproperty("pkits_log.txt",
+    pkits_log = treepkg.packager._filenameproperty("pkits_log.html",
                                                    dir_attr="log_dir")
 
     def list_log_files(self):
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)