degal/commands/main.py
changeset 66 322e5cd0cb1f
parent 48 20355dd2e61a
child 76 e22d9f699081
equal deleted inserted replaced
65:97e1bc208574 66:322e5cd0cb1f
       
     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