terom@76: from degal.command import command terom@66: from degal import templates terom@48: terom@66: def render_image (ctx, image) : terom@66: """ terom@66: Render the thumbnails and .html for one image terom@66: """ terom@66: terom@66: # log image path terom@76: ctx.log_info("%s", image) terom@48: terom@66: # render output terom@66: tpl = templates.master(ctx.gallery, image.title, image.html, terom@66: templates.image_page(image) terom@66: ) terom@66: terom@66: # write output terom@66: tpl.render_file(image.html) terom@66: terom@66: def render_folder (ctx, folder) : terom@48: """ terom@66: Render the .html output for one folder, recursively terom@48: """ terom@48: terom@66: # log folder path terom@76: ctx.log_info("%s", folder) terom@66: terom@66: # render folder index terom@66: for page in xrange(folder.page_count) : terom@66: # output .html page terom@66: html_file = folder.html_file(page) terom@66: terom@66: # render template terom@66: tpl = templates.master(ctx.gallery, folder.title, html_file, terom@66: templates.folder_page(folder, page) terom@66: ) terom@66: terom@66: # write output terom@66: tpl.render_file(html_file) terom@66: terom@66: # render images terom@66: for image in folder.images : terom@66: render_image(ctx, image) terom@66: terom@66: @command terom@66: def main (ctx) : terom@66: """ terom@66: Scan the gallery for new folders/images, and render updated ones terom@66: """ terom@66: terom@66: # render the gallery terom@66: render_folder(ctx, ctx.gallery) terom@48: