equal
deleted
inserted
replaced
3 |
3 |
4 def render_image (ctx, image) : |
4 def render_image (ctx, image) : |
5 """ |
5 """ |
6 Render the thumbnails and .html for one image |
6 Render the thumbnails and .html for one image |
7 """ |
7 """ |
8 |
8 |
9 # log image path |
9 # log image path |
10 ctx.log_info("%s", image) |
10 ctx.log_info("%s", image) |
11 |
11 |
12 # render output |
12 # render output |
13 tpl = templates.master(ctx.gallery, image.title, image.html, |
13 tpl = templates.master(ctx.gallery, image.title, image.html, |
15 ) |
15 ) |
16 |
16 |
17 # write output |
17 # write output |
18 tpl.render_file(image.html) |
18 tpl.render_file(image.html) |
19 |
19 |
20 def render_folder (ctx, folder) : |
20 def render_folder_page (ctx, folder) : |
21 """ |
21 """ |
22 Render the .html output for one folder, recursively |
22 Render the .html output for one folder |
23 """ |
23 """ |
24 |
24 |
25 # log folder path |
25 # render each page separately |
26 ctx.log_info("%s", folder) |
|
27 |
|
28 # render folder index |
|
29 for page in xrange(folder.page_count) : |
26 for page in xrange(folder.page_count) : |
30 # output .html page |
27 # output .html page |
31 html_file = folder.html_file(page) |
28 html_file = folder.html_file(page) |
32 |
29 |
33 # render template |
30 # render template |
35 templates.folder_page(folder, page) |
32 templates.folder_page(folder, page) |
36 ) |
33 ) |
37 |
34 |
38 # write output |
35 # write output |
39 tpl.render_file(html_file) |
36 tpl.render_file(html_file) |
|
37 |
40 |
38 |
41 # render images |
39 def render_folder (ctx, folder) : |
42 for image in folder.images : |
40 # index images that require updating |
43 render_image(ctx, image) |
41 image_count = len(folder.images) |
|
42 new_images = list(folder.index_images(for_update=(not ctx.config.force_update))) |
|
43 |
|
44 if new_images or ctx.config.force_update: |
|
45 # update folder index |
|
46 render_folder_page(ctx, folder) |
|
47 |
|
48 ctx.log_info("%s - render %d/%d images", folder, len(new_images), image_count) |
|
49 |
|
50 # update images |
|
51 for image in new_images : |
|
52 # update thumbs |
|
53 image.update() |
|
54 |
|
55 # render output |
|
56 render_image(ctx, image) |
|
57 |
|
58 else : |
|
59 ctx.log_info("%s - up to date", folder) |
|
60 |
|
61 # index subfolders |
|
62 for subfolder in folder.subfolders : |
|
63 render_folder(ctx, subfolder) |
44 |
64 |
45 @command |
65 @command |
46 def main (ctx) : |
66 def main (ctx) : |
47 """ |
67 """ |
48 Scan the gallery for new folders/images, and render updated ones |
68 Scan the gallery for new folders/images, and render updated ones |