Changed time to be imported and made xinclude execute in the correct directory.
authorFredrik Unger <fred@tree.se>
Wed, 16 May 2012 09:41:58 +0000 (11:41 +0200)
committerFredrik Unger <fred@tree.se>
Wed, 16 May 2012 09:41:58 +0000 (11:41 +0200)
treecutter/page.py
treecutter/sitemap.py

index ef77bb7d861b1037f9b622dfaee418b41524776c..e02a03c58f3d8b365fb6fd87904ece3033851a74 100644 (file)
@@ -6,6 +6,7 @@ from amara import bindery
 from amara.xslt import transform
 from Cheetah.Template import Template
 from pkg_resources import resource_filename, resource_listdir
+from time import time
 import treecutter.const as const
 from treecutter.tools import mkdir_p
 
@@ -41,6 +42,7 @@ class Page():
             self._menu = unicode(self._doc.article.info.titleabbrev)
 
         dirname = os.path.dirname(self._file)
+        cwd = os.getcwd()
         code  = self._doc.xml_select(u"//xi:include[@parse='text']")
         if code:
             for c in code:
@@ -61,8 +63,14 @@ class Page():
                         exe.append("lang="+alang)
                     if c.xml_select(u"//xi:include[@xpointer]"):
                         exe.append("xptr="+c.xpointer)
+                    print "  executing %15s" % (c.href),
+                    ts = time()
+                    os.chdir(dirname)
                     xml = subprocess.Popen(exe,stdout=subprocess.PIPE)
+                    os.chdir(cwd)
                     xmlblock = str(xml.stdout.read())
+                    te = time()
+                    print " [%5.2f s]" % (round(te-ts,2))
                     xstr = bindery.parse(xmlblock)
                     idp = c.xml_index_on_parent
                     for x in xstr.xml_children:
index 7bd81e9a1097da7bb0041c8c56b8cf6e94a4b32c..e85c6906c831ddd9a6b69ac827ae1c93096f46cd 100644 (file)
@@ -1,11 +1,11 @@
 #!/usr/bin/python
 import os
 import re
-import time
 import shutil
 import gettext
 import tempfile
 from amara import bindery
+from time import time
 from treecutter.trie import Trie
 from treecutter.link import Link
 from treecutter.tools import ssh_cmd, publish, mkdir_p
@@ -43,10 +43,11 @@ class Sitemap():
         return set(link.link() for link in self._tree)
 
     def process(self, style):
-        t1 = time.time()
+        t1 = time()
+        print "Prepareing the input"
         for link in self._tree:
             link.prepare()
-        t2 = time.time()
+        t2 = time()
         print "Prepare  [%5.2f s]" % (round(t2-t1,2))
         for link in self._tree:
             self._sitelang = self._sitelang.union(set(link.languages()))
@@ -54,17 +55,17 @@ class Sitemap():
             if tran != 'en':
                 self._tranlang[tran] = gettext.translation('iso_639_3',
                                                            languages=[tran])
-        t3 = time.time()
+        t3 = time()
         print "Language [%5.2f s]" % (round(t3-t2,2))
         for link in self._tree:
             link.render(style)
-        t4 = time.time()
+        t4 = time()
         print "Render   [%5.2f s]" % (round(t4-t3,2))
         for link in self._tree:
             link.template(self, style, self._tmptarget)
-        t5 = time.time()
+        t5 = time()
         print "Template [%5.2f s]" % (round(t5-t4,2))
-        t6 = time.time()
+        t6 = time()
         res = set()
         cwd = os.getcwd()
         for link in self._tree:
@@ -80,7 +81,7 @@ class Sitemap():
         for l in self._sitelang:
             sitmaplink.page(l).set_article(self.gen_menu(l,None,"tree sitemap"))
             sitmaplink.page(l).template(self,style,self._tmptarget)
-        t7 = time.time()
+        t7 = time()
         print "Sitemap  [%5.2f s]" % (round(t7-t6,2))
 
     def graph(self):