summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
c66e7f9)
* Added gallery descriptions with HTML tagging
* Removed test page
driver: overlay
services:
navigator:
driver: overlay
services:
navigator:
- image: cjpalmer/gallery-navigator:1.2.0
+ image: cjpalmer/gallery-navigator:1.3.0
volumes:
- gallery_data:/app/gallery
networks:
- backend
server:
volumes:
- gallery_data:/app/gallery
networks:
- backend
server:
- image: cjpalmer/gallery-server:1.1.0
+ image: cjpalmer/gallery-server:1.3.0
volumes:
- gallery_data:/data/images
depends_on:
volumes:
- gallery_data:/data/images
depends_on:
services:
navigator:
build: ./navigator
services:
navigator:
build: ./navigator
- image: cjpalmer/gallery-navigator:1.2.0
+ image: cjpalmer/gallery-navigator:1.3.0
- - gallery_data:/app/gallery
+ - gallery_data_dev:/app/gallery
environment:
FLASK_DEBUG: 1
server:
build: ./server
environment:
FLASK_DEBUG: 1
server:
build: ./server
- image: cjpalmer/gallery-server:1.1.0
+ image: cjpalmer/gallery-server:1.3.0
- - gallery_data:/data/images
+ - gallery_data_dev:/data/images
ports:
- 80:80
depends_on:
- navigator
volumes:
ports:
- 80:80
depends_on:
- navigator
volumes:
driver: local
driver_opts:
o: bind
type: none
driver: local
driver_opts:
o: bind
type: none
- device: /mnt/gallery_data
+ device: /mnt/gallery_data_dev
app = Flask(__name__)
gallery_root = "/app/gallery"
app = Flask(__name__)
gallery_root = "/app/gallery"
+gallery_desc_filename = "description.html"
get_num_regex = re.compile(r'\d+')
@app.route('/')
get_num_regex = re.compile(r'\d+')
@app.route('/')
@app.route('/<gallery>')
def render_pages(gallery=None):
@app.route('/<gallery>')
def render_pages(gallery=None):
+ gallery_dir = gallery_root + "/" + gallery
+
+ # get list of available pages in gallery
- 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({
for page in pages:
if page.is_file() and page.name.endswith('.png') or page.name.endswith('.jpg'):
template_pages.append({
'number': get_page_number_from_name(page.name)
})
template_pages = sorted(template_pages, key=lambda page: page['number'])
'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',
+ gallery=gallery,
+ description=description,
+ pages=template_pages
+ )
@app.route('/<gallery>/<int:page_num>')
def render_page(gallery=None, page_num=None):
@app.route('/<gallery>/<int:page_num>')
def render_page(gallery=None, page_num=None):
+++ /dev/null
-<html>
-<body>
-<p>Hello, world!</p>
-</body>
-</html>
+ {% if description %}
+ <p>
+ {% autoescape false %}
+ {{ description }}
+ {% endautoescape %}
+ </p>
+ {% endif %}
+
<ul id="navigation">
{% for page in pages %}
<li><a href="{{ gallery }}/{{ page.number }}">{{ page.number }}</a></li>
<ul id="navigation">
{% for page in pages %}
<li><a href="{{ gallery }}/{{ page.number }}">{{ page.number }}</a></li>