X-Git-Url: http://git.purplebirdman.com/web-gallery.git/blobdiff_plain/77fb873efda5c6a60d8d05efad1e349db57044a9..f999f3b361af28c204af7fc0713634835c01011f:/app/app.py?ds=sidebyside diff --git a/app/app.py b/app/app.py index c4d55bd..e6d723a 100644 --- a/app/app.py +++ b/app/app.py @@ -1,7 +1,45 @@ from flask import Flask, render_template +import os +import re app = Flask(__name__) +gallery_root = "/app/gallery" +get_num_regex = re.compile(r'\d+') @app.route('/') -def customer(): - return render_template('hello.html') +def render_gallery(): + gallery_names = [] + with os.scandir(gallery_root) as galleries: + for gallery in galleries: + if not gallery.is_file(): + gallery_names.append(gallery.name) + gallery_names.sort() + return render_template( 'gallery.html', galleries=gallery_names ) + +@app.route('/') +def render_pages(gallery=None): + page_names = [] + with os.scandir(gallery_root + "/" + gallery) as pages: + for page in pages: + if page.is_file() and page.name.endswith('.png') or page.name.endswith('.jpg'): + page_names.append(page.name) + page_names.sort() + return render_template( 'pages.html', gallery=gallery, pages=page_names ) + +@app.route('//') +def render_page(gallery=None, page=None): + src = '/images/{}/{}'.format( gallery, page ) + + page_num = int(get_num_regex.findall(page)[-1]) + page_num_str = str(page_num).rjust(3, '0') + next_page_num_str = str(page_num + 1).rjust(3, '0') + prev_page_num_str = str(page_num - 1).rjust(3, '0') + + prev_page_url = '/{}/{}'.format(gallery, page.replace(page_num_str, prev_page_num_str) ) + next_page_url = '/{}/{}'.format(gallery, page.replace(page_num_str, next_page_num_str) ) + + return render_template( 'page.html', + gallery=gallery, page=page, page_num=page_num, + title=page, src=src, alt=page, + prev_page_url=prev_page_url, + next_page_url=next_page_url )