Changes due to that rsync does not create target with mkdir -p
authorFredrik Unger <fred@tree.se>
Thu, 17 Mar 2011 20:01:55 +0000 (21:01 +0100)
committerFredrik Unger <fred@tree.se>
Thu, 17 Mar 2011 20:01:55 +0000 (21:01 +0100)
Added a staged publish function in /tmp to be able to provide
a simple rsync target functionality. This to enable output exported
over ssh at a later stage.

src/tree-cutter.py

index 0dd68b65fb3be70ec6e0652179a7d3f490d6dd28..696c00aefe2d9caf7c2574b086d1cb822ee4be45 100755 (executable)
@@ -182,14 +182,14 @@ def writeToTemplate(page,doc,sitemap):
                                   {'article':doc},
                                   {'levelmenu':levelmenu},
                                   {'levelname':levelname}])
-  outfile = args.output+page['output']
-  out = open('result', 'w')
+  outfile = tmptarget+page['output']
+  mkdir_p(os.path.dirname(outfile))
+  out = open(outfile, 'w')
   out.write(str(template))
   out.close()
-  publish('result',outfile)
-  os.remove('result')
 
 sitemap = generateSitemap()
+tmptarget = tempfile.mkdtemp()+'/'
 for page in sitemap:
   t1 = time.time()
   print "Page : %-30s %30s" % (page['link'],
@@ -197,7 +197,8 @@ for page in sitemap:
   doc = expandXincludeTxt(page)
   pubdoc = xsltConvert(doc)
   writeToTemplate(page,pubdoc,sitemap)
-  publish(args.style+"css", args.output)
-  publish(args.style+"images",args.output)
   t2 = time.time()
   print "[%5.2f s]" % (round(t2-t1,2))
+publish(tmptarget, args.output)
+publish(args.style+"css", args.output)
+publish(args.style+"images",args.output)