--- 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)
- ],
+ ),
)