X-Git-Url: https://source.tree.se/git?p=treecutter.git;a=blobdiff_plain;f=treecutter%2Fsitemap.py;h=24b53fe5b4ab3bd84d65caca16cd1e1e07db54a6;hp=57b978ec8d13853bd132d59203331d0312083913;hb=d8d052d9b448eb8f0ddc504de2f67faba65b618e;hpb=e334f4bd5cbfd4ac928333c78dbfae3afe0c3a6a diff --git a/treecutter/sitemap.py b/treecutter/sitemap.py index 57b978e..24b53fe 100644 --- a/treecutter/sitemap.py +++ b/treecutter/sitemap.py @@ -14,7 +14,10 @@ from treecutter.tools import ssh_cmd, publish, mkdir_p class Sitemap(): """Class keeping the internal site structure""" - def __init__(self): + def __init__(self,args): + self._output = args.output + self._style = args.style + self._subdir = args.subdir self._file = 'sitemap.txt' self._tree = Trie() self._sitelang = set() @@ -52,7 +55,7 @@ class Sitemap(): # Main driver in the application processing the documents # in the collected sitemap - def process(self, style): + def process(self): t1 = time() print "Prepareing the input" for link in self._tree: @@ -68,11 +71,11 @@ class Sitemap(): t3 = time() print "Language [%5.2f s]" % (round(t3-t2,2)) for link in self._tree: - link.render(style) + link.render(self._style) t4 = time() print "Render [%5.2f s]" % (round(t4-t3,2)) for link in self._tree: - link.template(self, style, self._tmptarget) + link.template(self, self._style, self._tmptarget) t5 = time() print "Template [%5.2f s]" % (round(t5-t4,2)) t6 = time() @@ -92,7 +95,7 @@ class Sitemap(): sitmaplink.add_page((l,'/sitemap.'+l+'.xml')) for l in self._sitelang: sitmaplink.page(l).set_article(self.gen_menu(l,None,"tree sitemap")) - sitmaplink.page(l).template(self,style,self._tmptarget) + sitmaplink.page(l).template(self,self._style,self._tmptarget) t7 = time() print "Sitemap [%5.2f s]" % (round(t7-t6,2)) @@ -100,7 +103,7 @@ class Sitemap(): self._tree.graph() def gen_menu(self,lang,page,cssclass): - return self._tree.menu(lang,page,cssclass) + return self._tree.menu(lang,page,cssclass,self._subdir) def lang_menu(self,lang,link): html = ElementMaker() @@ -114,14 +117,15 @@ class Sitemap(): if p[-1] == '/': p = p +'index' p = p+'.'+l - li = html.li(html.a(ln.decode('utf-8'),href=p,hreflang=l)) + li = html.li(html.a(ln.decode('utf-8'), + href=self._subdir+p,hreflang=l)) menu.append(li) return etree.tostring(menu,encoding='UTF-8',pretty_print=False) - def publish(self,output,style): - ssh_cmd(output,"mkdir -p") - publish(self._tmptarget, output) + def publish(self): + ssh_cmd(self._output,"mkdir -p") + publish(self._tmptarget, self._output) for res in ["css","images","js","fonts","favicon.ico"]: - if (os.path.exists(style+res)): - publish(style+res, output) - ssh_cmd(output,"chmod a+rx") + if (os.path.exists(self._style+res)): + publish(self._style+res, self._output) + ssh_cmd(self._output,"chmod a+rx")