diff -r 2a53c5ade434 -r d580323b4bfa degal/templates.py --- a/degal/templates.py Fri Jun 05 23:59:14 2009 +0300 +++ b/degal/templates.py Wed Jun 10 21:59:49 2009 +0300 @@ -5,21 +5,21 @@ import html from html import tags -def link_from (from_page, to_page) : +def link_from (source, target) : """ Returns a partial a tag linking from the given page to the given page XXX: URLEncode unicode -> str! """ - return tags.a(href=to_page.path_from(from_page)) + return tags.a(href=source.path_to(target)) -def image_link (from_page, image, image_html) : +def image_link (from_page, image, target) : """ Link to the given image """ - return link_from(from_page, image_html)( + return link_from(from_page, target)( tags.img(src=image.path_from(from_page)) ) @@ -28,7 +28,7 @@ The per-image view """ - return [ + return html.container( tags.div(id_='image')( # title tags.h1(image.title) if image.title else None, @@ -50,10 +50,10 @@ ), # extended info, metadata - tags.div(id_='info')( - tags.p("%s: " % name, value) for name, value in image.metadata - ), - ] + tags.div(id_='info')(*( + tags.p(("%s: " % name), value) for name, value in image.metadata.iteritems() + )), + ) def folder_link (from_page, folder, page=0) : """ @@ -82,7 +82,7 @@ if cur_page > 0 else tags.li(tags.span(html.raw("« Prev"))), - (( + html.container(( # page link tags.li(folder_page_link(folder, page)(page + 1)) if page != cur_page else @@ -104,7 +104,7 @@ # render the paginate-view once paginate = folder_paginate(folder, cur_page) - return [ + return html.container( # title tags.h1(folder.title) if folder.title else None, @@ -121,9 +121,9 @@ paginate, # image thumbnails - (( + html.container(*(( image_link(folder, image, image.html) - ) for image in folder.images), + ) for image in folder.images)), # lower paginate paginate, @@ -132,7 +132,7 @@ tags.p(id='description')(folder.description) if folder.description else None, # shorturl - ] + ) def breadcrumb_trail (gallery, page) : """ @@ -150,7 +150,8 @@ yield html.raw("»") # link from this page to sub-page - yield link_from(page, segment)(segment.title) + # XXX: title + yield link_from(page, segment)(segment.name.title()) def breadcrumb (gallery, page) : @@ -159,7 +160,7 @@ """ return tags.div(id='breadcrumb')( - breadcrumb_trail(gallery, page) + *breadcrumb_trail(gallery, page) ) def master (gallery, title, page, body) : @@ -168,14 +169,14 @@ """ return html.XHTMLDocument( - head=[ + head=html.container( tags.title(title), # stylesheet tags.link(rel='Stylesheet', type='text/css', href=gallery.stylesheet.path_from(page)) - ], + ), - body=[ + body=html.container( # top-of-page breadcrumb nav breadcrumb(gallery, page), @@ -184,6 +185,6 @@ # footer tags.p(id='about')(tags.a(href='http://projects.qmsk.net/degal')('Degal'), gallery.version) - ], + ), )