Adding method process and publish to mimic the old scripts stages to publish.
authorFredrik Unger <fred@tree.se>
Sun, 10 Apr 2011 14:32:18 +0000 (16:32 +0200)
committerFredrik Unger <fred@tree.se>
Sun, 10 Apr 2011 14:32:18 +0000 (16:32 +0200)
Timing added to make sure that the Sitemap class is not slower.

src/tree-cutter.py

index b21c09188d1022f69ec294edf7aab08a55319883..37b893a0961529fcdb66b230f5bb9d68f0e83e31 100755 (executable)
@@ -313,12 +313,44 @@ class Sitemap():
     def set(self):
         return set(link.link() for link in self._tree)
 
+    def process(self):
+        t1 = time.time()
+        for link in self._tree:
+            link.prepare()
+        t2 = time.time()
+        print "Prepare  [%5.2f s]" % (round(t2-t1,2))
+        sitelang = set()
+        for link in self._tree:
+            sitelang = lang.union(set(link.languages()))
+        t3 = time.time()
+        print "Language [%5.2f s]" % (round(t3-t2,2))
+        for link in self._tree:
+            link.render()
+        t4 = time.time()
+        print "Render   [%5.2f s]" % (round(t4-t3,2))
+        for link in self._tree:
+            link.template(self)
+        t5 = time.time()
+        print "Template [%5.2f s]" % (round(t5-t4,2))
+        sm = {}
+        for l in sitelang:
+            sm[l] = Page((l,'/sitemap'))
+            sm[l].set_article(self.gen_menu(l,None,"tree sitemap"))
+            sm[l].template(self)
+        t6 = time.time()
+        print "Sitemap [%5.2f s]" % (round(t6-t5,2))
+
     def graph(self):
         self._tree.graph()
 
     def gen_menu(self,lang,page,cssclass):
         return self._tree.menu(lang,page,cssclass)
 
+    def publish(self):
+        publish(tmptarget, args.output)
+        publish(args.style+"css", args.output)
+        publish(args.style+"images",args.output)
+
 def generateSitemap():
     sitemap = []
     try:
@@ -519,6 +551,12 @@ if len(missing & removed) != 0:
     sitemap.write_map()
 sitemap.graph()
 
+sitemap.process()
+
+t1 = time.time()
+sitemap.publish()
+t2 = time.time()
+print "Publish  [%5.2f s]" % (round(t2-t1,2))
 
 sitemap = generateSitemap()
 tmptarget = tempfile.mkdtemp()+'/'