app = Flask(__name__)
gallery_root = "/app/gallery"
-gallery_desc_filename = "description.html"
get_num_regex = re.compile(r'\d+')
+### helper functions ###
+
+def get_page_number_from_name(name):
+ try:
+ return int(get_num_regex.findall(name)[-1])
+ except IndexError:
+ print ("Index error on name " + name, flush=True)
+ return -1
+
+def get_file_text(filename):
+ file_text = None
+ try:
+ with open(filename, 'r') as file:
+ file_text = file.read()
+ except:
+ print("File not found:" + filename)
+ return file_text
+
+### routes ###
+
@app.route('/')
def render_gallery():
gallery_names = []
if not gallery.is_file():
gallery_names.append(gallery.name)
gallery_names.sort()
- return render_template( 'gallery.html', galleries=gallery_names )
-
-def get_page_number_from_name(name):
- try:
- return int(get_num_regex.findall(name)[-1])
- except IndexError:
- print ("Index error on name " + name, flush=True)
- return -1
+ return render_template( 'gallery.html',
+ title="My Comics",
+ galleries=gallery_names
+ )
@app.route('/<gallery>')
def render_pages(gallery=None):
})
template_pages = sorted(template_pages, key=lambda page: page['number'])
- # 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)
+ # get header for gallery (if available)
+ header_html = get_file_text(gallery_dir + "/header.html")
# render!
return render_template( 'pages.html',
+ title=gallery,
gallery=gallery,
- description=description,
+ header=header_html,
pages=template_pages
)
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: