Improving status report, changing to rsync by adding function publish for output.
authorFredrik Unger <fred@tree.se>
Tue, 8 Mar 2011 13:56:28 +0000 (14:56 +0100)
committerFredrik Unger <fred@tree.se>
Tue, 8 Mar 2011 13:56:28 +0000 (14:56 +0100)
src/tree-cutter.py

index baf8016249d13b1378447da7340766c603e5548f..0dd68b65fb3be70ec6e0652179a7d3f490d6dd28 100755 (executable)
@@ -34,6 +34,12 @@ def mkdir_p(path):
             pass
         else: raise
 
+def publish(src,target):
+    cmd = ["rsync","-a",src,target]
+    retcode = subprocess.call(cmd)
+    if retcode:
+        print 'Error: '+' '.join(cmd)+' Returncode ['+str(retcode)+']'
+
 def generateSitemap():
   sitemap = []
   try:
@@ -171,24 +177,27 @@ def writeToTemplate(page,doc,sitemap):
   (menu,menuname) = genMenu(page,sitemap,1,MAXLEVEL)
   (levelmenu,levelname) = genMenu(page,sitemap,page['level'],page['level'])
   template = Template(file=style_tmpl,
-                      searchList=[{'menu':menu},
+                      searchList=[{'title':page['title']},
+                                  {'menu':menu},
                                   {'article':doc},
                                   {'levelmenu':levelmenu},
                                   {'levelname':levelname}])
-  outfile = outputdir+page['output']
-  d = os.path.split(outfile)[0]
-  if d != '':
-    mkdir_p(d)
-  out = open(outfile, 'w')
+  outfile = args.output+page['output']
+  out = open('result', 'w')
   out.write(str(template))
+  out.close()
+  publish('result',outfile)
+  os.remove('result')
 
 sitemap = generateSitemap()
 for page in sitemap:
   t1 = time.time()
-  print "Page : "+page['link'],
+  print "Page : %-30s %30s" % (page['link'],
+                      time.ctime(os.stat(page['file']).st_mtime)),
   doc = expandXincludeTxt(page)
   pubdoc = xsltConvert(doc)
   writeToTemplate(page,pubdoc,sitemap)
-#  publishResources()
+  publish(args.style+"css", args.output)
+  publish(args.style+"images",args.output)
   t2 = time.time()
-  print "["+str(round(t2-t1,2))+"]  done."
+  print "[%5.2f s]" % (round(t2-t1,2))