3c30824f7cbf815ef446a2a66c091c6916575ad2
[treecutter.git] / treecutter / main.py
1 #!/usr/bin/python
2 import os
3 import fnmatch
4 import subprocess
5 import amara
6 import re
7 import tempfile
8 import errno
9 import time
10 import argparse
11 import shutil
12 import pygraphviz as pgv
13 import glob
14 import gettext
15 import shutil
16 from amara import bindery
17 from amara.xslt import transform
18 from Cheetah.Template import Template
19
20 parser = argparse.ArgumentParser(description='Process docbook article tree.')
21 parser.add_argument('--style', nargs='?',
22                     default=os.path.dirname(os.getcwd())+'/style/default/')
23 parser.add_argument('--output', nargs='?',
24                     default=os.path.dirname(os.getcwd())+'/htdocs/')
25 args = parser.parse_args()
26
27 style_xslt = args.style+"docbook.xsl"
28 outputdir = args.output
29
30 tmptarget = tempfile.mkdtemp()+'/'
31
32 MAXLEVEL = 10000
33
34 ts = time.time()
35 dir_ = Directory()
36 sitemap = Sitemap()
37
38 dir_.scan()
39 sitemap.read_map()
40
41 missing = dir_.set() - sitemap.set()
42 removed = sitemap.set() - dir_.set()
43 for page in removed:
44     print page+' pages missing!!'
45 for page in missing:
46     print 'adding missing page '+page
47     sitemap.add_link(page)
48 if len(missing)+len(removed) != 0:
49     print 'writing new sitemap - please adjust if needed'
50     sitemap.write_map()
51 sitemap.graph()
52
53 sitemap.process()
54
55 t1 = time.time()
56 sitemap.publish()
57 t2 = time.time()
58 print "Publish  [%5.2f s]" % (round(t2-t1,2))
59 print "Total    [%5.2f s]" % (round(t2-ts,2))