X-Git-Url: http://git.purplebirdman.com/web-gallery.git/blobdiff_plain/17e2bbe79fb35e0422b14a63bafb8be48a0a8d78..cf6768b36c026710fffa028c42d0b888c4562fee:/navigator/app/app.py?ds=sidebyside diff --git a/navigator/app/app.py b/navigator/app/app.py index 33aac3d..e6bc9b2 100644 --- a/navigator/app/app.py +++ b/navigator/app/app.py @@ -4,6 +4,7 @@ import re app = Flask(__name__) gallery_root = "/app/gallery" +gallery_desc_filename = "description.html" get_num_regex = re.compile(r'\d+') @app.route('/') @@ -14,7 +15,10 @@ def render_gallery(): if not gallery.is_file(): gallery_names.append(gallery.name) gallery_names.sort() - return render_template( 'gallery.html', galleries=gallery_names ) + return render_template( 'gallery.html', + title="My Comics", + galleries=gallery_names + ) def get_page_number_from_name(name): try: @@ -25,8 +29,11 @@ def get_page_number_from_name(name): @app.route('/') def render_pages(gallery=None): + gallery_dir = gallery_root + "/" + gallery + + # get list of available pages in gallery template_pages = [] - with os.scandir(gallery_root + "/" + gallery) as pages: + with os.scandir(gallery_dir) as pages: for page in pages: if page.is_file() and page.name.endswith('.png') or page.name.endswith('.jpg'): template_pages.append({ @@ -34,7 +41,23 @@ def render_pages(gallery=None): 'number': get_page_number_from_name(page.name) }) template_pages = sorted(template_pages, key=lambda page: page['number']) - return render_template( 'pages.html', gallery=gallery, pages=template_pages ) + + # get description for gallery (if available) + desc_filename = gallery_dir + "/" + gallery_desc_filename + description = None + try: + with open(desc_filename, 'r') as file: + description = file.read() + except: + print("Description file not found at " + desc_filename) + + # render! + return render_template( 'pages.html', + title=gallery, + gallery=gallery, + description=description, + pages=template_pages + ) @app.route('//') def render_page(gallery=None, page_num=None): @@ -57,7 +80,7 @@ def render_page(gallery=None, page_num=None): return render_template( 'page.html', gallery=gallery, page_num=page_num, - title=page_name, src=src, alt=page_name, + title='{} {}'.format(gallery, page_num), src=src, alt=page_name, prev_page_url=prev_page_url, next_page_url=next_page_url ) else: