ba09eaf801d080d523ade9dcbc640f24d1675f51
[treecutter.git] / treecutter / main.py
1 #!/usr/bin/python
2 import os
3 import time
4 import argparse
5 from treecutter.directory import Directory
6 from treecutter.sitemap import Sitemap
7
8 parser = argparse.ArgumentParser(description='Process docbook article tree.')
9 parser.add_argument('--style', nargs='?',
10                     default=os.path.dirname(os.getcwd())+'/style/default/')
11 parser.add_argument('--output', nargs='?',
12                     default=os.path.dirname(os.getcwd())+'/htdocs/')
13 args = parser.parse_args()
14
15 ts = time.time()
16 dir_ = Directory()
17 sitemap = Sitemap()
18
19 dir_.scan()
20 sitemap.read_map()
21
22 missing = dir_.set() - sitemap.set()
23 removed = sitemap.set() - dir_.set()
24 for page in removed:
25     print page+' pages missing!!'
26 for page in missing:
27     print 'adding missing page '+page
28     sitemap.add_link(page)
29 if len(missing)+len(removed) != 0:
30     print 'writing new sitemap - please adjust if needed'
31     sitemap.write_map()
32 sitemap.graph()
33
34 sitemap.process(args.style)
35
36 t1 = time.time()
37 sitemap.publish(args.output,args.style)
38 t2 = time.time()
39 print "Publish  [%5.2f s]" % (round(t2-t1,2))
40 print "Total    [%5.2f s]" % (round(t2-ts,2))