author | Tero Marttila <terom@fixme.fi> |
Fri, 05 Jun 2009 23:42:03 +0300 | |
changeset 76 | e22d9f699081 |
parent 66 | 322e5cd0cb1f |
child 87 | a7a18893730d |
permissions | -rw-r--r-- |
76 | 1 |
from degal.command import command |
66
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
2 |
from degal import templates |
48
20355dd2e61a
new structure for bin/degal, adding degal/commands, degal/main
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
3 |
|
66
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
4 |
def render_image (ctx, image) : |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
5 |
""" |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
6 |
Render the thumbnails and .html for one image |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
7 |
""" |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
8 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
9 |
# log image path |
76 | 10 |
ctx.log_info("%s", image) |
48
20355dd2e61a
new structure for bin/degal, adding degal/commands, degal/main
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
11 |
|
66
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
12 |
# render output |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
13 |
tpl = templates.master(ctx.gallery, image.title, image.html, |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
14 |
templates.image_page(image) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
15 |
) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
16 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
17 |
# write output |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
18 |
tpl.render_file(image.html) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
19 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
20 |
def render_folder (ctx, folder) : |
48
20355dd2e61a
new structure for bin/degal, adding degal/commands, degal/main
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
21 |
""" |
66
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
22 |
Render the .html output for one folder, recursively |
48
20355dd2e61a
new structure for bin/degal, adding degal/commands, degal/main
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
23 |
""" |
20355dd2e61a
new structure for bin/degal, adding degal/commands, degal/main
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
24 |
|
66
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
25 |
# log folder path |
76 | 26 |
ctx.log_info("%s", folder) |
66
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
27 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
28 |
# render folder index |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
29 |
for page in xrange(folder.page_count) : |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
30 |
# output .html page |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
31 |
html_file = folder.html_file(page) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
32 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
33 |
# render template |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
34 |
tpl = templates.master(ctx.gallery, folder.title, html_file, |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
35 |
templates.folder_page(folder, page) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
36 |
) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
37 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
38 |
# write output |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
39 |
tpl.render_file(html_file) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
40 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
41 |
# render images |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
42 |
for image in folder.images : |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
43 |
render_image(ctx, image) |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
44 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
45 |
@command |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
46 |
def main (ctx) : |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
47 |
""" |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
48 |
Scan the gallery for new folders/images, and render updated ones |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
49 |
""" |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
50 |
|
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
51 |
# render the gallery |
322e5cd0cb1f
implement new main() command, remove old one
Tero Marttila <terom@fixme.fi>
parents:
48
diff
changeset
|
52 |
render_folder(ctx, ctx.gallery) |
48
20355dd2e61a
new structure for bin/degal, adding degal/commands, degal/main
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
53 |