Fixing the def main function, properly calling it from treecutter.
[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 def main():
9     parser = argparse.ArgumentParser(description='Process docbook article tree.')
10     parser.add_argument('--style', nargs='?',
11                         default=os.path.dirname(os.getcwd())+'/style/default/')
12     parser.add_argument('--output', nargs='?',
13                         default=os.path.dirname(os.getcwd())+'/htdocs/')
14     args = parser.parse_args()
15
16     ts = time.time()
17     dir_ = Directory()
18     sitemap = Sitemap()
19
20     dir_.scan()
21     sitemap.read_map()
22
23     missing = dir_.set() - sitemap.set()
24     removed = sitemap.set() - dir_.set()
25     for page in removed:
26         print page+' pages missing!!'
27     for page in missing:
28         print 'adding missing page '+page
29         sitemap.add_link(page)
30     if len(missing)+len(removed) != 0:
31         print 'writing new sitemap - please adjust if needed'
32         sitemap.write_map()
33     sitemap.graph()
34
35     sitemap.process(args.style)
36
37     t1 = time.time()
38     sitemap.publish(args.output,args.style)
39     t2 = time.time()
40     print "Publish  [%5.2f s]" % (round(t2-t1,2))
41     print "Total    [%5.2f s]" % (round(t2-ts,2))
42     return 0
43
44 if __name__ == "__main__":
45     sys.exit(main())