Adding method to write a sitemap.txt and writing it when something changed.
[treecutter.git] / src / tree-cutter.py
index b19953480b3e3339fb835e2d9bf932382bd6bbac..b21c09188d1022f69ec294edf7aab08a55319883 100755 (executable)
@@ -295,6 +295,11 @@ class Sitemap():
         tokens = filter(None,re.split(r'(^/\w*/|\w*/)',link))
         self._tree.add(tokens,Link(link))
 
+    def write_map(self):
+        f = open(self._file,'w')
+        f.write('\n'.join(link.link() for link in self._tree))
+        f.close()
+
     def read_map(self):
         try:
             f = open(self._file)
@@ -311,8 +316,8 @@ class Sitemap():
     def graph(self):
         self._tree.graph()
 
-    def gen_menu(self,lang,page):
-        return 'Generate menu from sitemap - To be implemented'
+    def gen_menu(self,lang,page,cssclass):
+        return self._tree.menu(lang,page,cssclass)
 
 def generateSitemap():
     sitemap = []
@@ -506,11 +511,12 @@ missing = dir_.set() - sitemap.set()
 removed = sitemap.set() - dir_.set()
 for page in removed:
     print removed+' pages missing!!'
-
 for page in missing:
     print 'adding missing page '+page
-    sitemap.add_page(page)
-
+    sitemap.add_link(page)
+if len(missing & removed) != 0:
+    print 'writing new sitemap - please adjust if needed'
+    sitemap.write_map()
 sitemap.graph()