From 8c5cb3e47e3eb9a87bb12330e3f0fbeccc40b000 Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 9 May 2011 00:06:49 +0200 Subject: [PATCH] add paths to upper directories (with titles and links) --- sigal/theme.py | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/sigal/theme.py b/sigal/theme.py index 9bb193f..60c7583 100644 --- a/sigal/theme.py +++ b/sigal/theme.py @@ -18,6 +18,12 @@ IGNORED_DIR = ['css', 'js', 'img'] DESCRIPTION_FILE = "album_description" SIGAL_LINK = "https://github.com/saimn/sigal" + +def do_link(link, title): + "return html link" + return '%s' % (link, title) + + class Theme(): """ Generate html pages for each directory of images """ @@ -115,24 +121,32 @@ class Theme(): # copy static files in the output dir copy_tree(os.path.abspath(self.theme_dir), os.path.abspath(self.path)) + sigal_link = do_link(SIGAL_LINK, "sigal") + self.directory_list() + for dirpath in self.data.keys(): + # default: get title from directory name + self.data[dirpath]['title'] = os.path.basename(dirpath).replace('_',' ').\ + replace('-',' ').capitalize() + self.get_metadata(dirpath) # print self.data[dirpath] - gallery_name = self.data[self.path]['title'] - self.data[self.path]['title'] = '' - - sigal_link='sigal' % SIGAL_LINK - # loop on directories for dirpath in self.data.keys(): theme = { 'path': os.path.relpath(self.path, dirpath) } home_path = os.path.join(os.path.relpath(self.path, dirpath), INDEX_PAGE) - if not self.data[dirpath].has_key('title'): - self.data[dirpath]['title'] = os.path.basename(dirpath).replace('_',' ').\ - replace('-',' ').capitalize() + # paths to upper directories (with titles and links) + tmp_path = os.path.abspath(dirpath) + paths = do_link(INDEX_PAGE, self.data[tmp_path]['title']) + + while tmp_path != self.path: + tmp_path = os.path.abspath(os.path.join(tmp_path, '..')) + tmp_link = os.path.relpath(tmp_path, dirpath) + "/" + INDEX_PAGE + paths = do_link(tmp_link, self.data[tmp_path]['title']) + \ + u" ยป " + paths images = [] for i in self.data[dirpath]['img']: @@ -159,12 +173,12 @@ class Theme(): } albums.append(album) - page = self.template.render(self.data[dirpath], gallery_name=gallery_name, + page = self.template.render(self.data[dirpath], paths=paths, home_path=home_path, images=images, albums=albums, theme=theme, sigal_link=sigal_link).encode('utf-8') - # save + # save page f = open(os.path.join(dirpath, INDEX_PAGE),"w") f.write(page) f.close()