Fixing missed namechange of variable.
[treecutter.git] / src / tree-cutter.py
index cf1ecb0c7e5beb1c1237888e28393e944e7b1ead..14c94a76dadfd0790ebc2604a1cc5ae19ffbc962 100755 (executable)
@@ -295,6 +295,11 @@ class Sitemap():
         tokens = filter(None,re.split(r'(^/\w*/|\w*/)',link))
         self._tree.add(tokens,Link(link))
 
+    def write_map(self):
+        f = open(self._file,'w')
+        f.write('\n'.join(link.link() for link in self._tree))
+        f.close()
+
     def read_map(self):
         try:
             f = open(self._file)
@@ -308,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 = sitelang.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:
@@ -506,16 +543,24 @@ missing = dir_.set() - sitemap.set()
 removed = sitemap.set() - dir_.set()
 for page in removed:
     print removed+' pages missing!!'
-
 for page in missing:
     print 'adding missing page '+page
-    sitemap.add_page(page)
-
+    sitemap.add_link(page)
+if len(missing & removed) != 0:
+    print 'writing new sitemap - please adjust if needed'
+    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()+'/'
+tot = 0
 for page in sitemap:
     t1 = time.time()
     print "Page : %-30s %30s" % (page['link'],
@@ -525,7 +570,9 @@ for page in sitemap:
     writeToTemplate(page,pubdoc,sitemap)
     t2 = time.time()
     print "[%5.2f s]" % (round(t2-t1,2))
+    tot = tot + (t2-t1)
 
+print "Total time\t\t\t\t\t\t\t     [%5.2f s]" % (round(tot,2))
 createSitemap(sitemap)
 publish(tmptarget, args.output)
 publish(args.style+"css", args.output)