equal
deleted
inserted
replaced
|
1 from degal.commands import command |
|
2 from degal import templates |
|
3 |
|
4 def render_image (ctx, image) : |
|
5 """ |
|
6 Render the thumbnails and .html for one image |
|
7 """ |
|
8 |
|
9 # log image path |
|
10 ctx.log_debug("%s", image) |
|
11 |
|
12 # render output |
|
13 tpl = templates.master(ctx.gallery, image.title, image.html, |
|
14 templates.image_page(image) |
|
15 ) |
|
16 |
|
17 # write output |
|
18 tpl.render_file(image.html) |
|
19 |
|
20 def render_folder (ctx, folder) : |
|
21 """ |
|
22 Render the .html output for one folder, recursively |
|
23 """ |
|
24 |
|
25 # log folder path |
|
26 ctx.log_debug("%s", folder) |
|
27 |
|
28 # render folder index |
|
29 for page in xrange(folder.page_count) : |
|
30 # output .html page |
|
31 html_file = folder.html_file(page) |
|
32 |
|
33 # render template |
|
34 tpl = templates.master(ctx.gallery, folder.title, html_file, |
|
35 templates.folder_page(folder, page) |
|
36 ) |
|
37 |
|
38 # write output |
|
39 tpl.render_file(html_file) |
|
40 |
|
41 # render images |
|
42 for image in folder.images : |
|
43 render_image(ctx, image) |
|
44 |
|
45 @command |
|
46 def main (ctx) : |
|
47 """ |
|
48 Scan the gallery for new folders/images, and render updated ones |
|
49 """ |
|
50 |
|
51 # render the gallery |
|
52 render_folder(ctx, ctx.gallery) |
|
53 |