changes for docker deployment

This commit is contained in:
www
2020-09-22 19:18:58 +00:00
parent 58c22cd3c8
commit 9c0009a2c4
11 changed files with 121 additions and 79 deletions

View File

@@ -9,18 +9,36 @@ from flask import Flask, Blueprint,render_template, send_from_directory,jsonify,
import flatpages_index
from flatpages_index import FlatPagesIndex
from flask_frozen import Freezer
from config import Config
#from config import Config
import os
import re
from PIL import Image, ExifTags, ImageOps
from functools import partial
from flask_csp.csp import csp_header, csp_default
cfg = Config("config.cfg")
#cfg = Config("./config.cfg")
import environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False),
pages_root=(str,'data_sample'),
static_root=(str,'static'),
default_template=(str, 'page.html'),
url_prefix =(str, "/stuff"),
FLATPAGES_EXTENSION = (str, ".md"),
FLATPAGES_AUTO_RELOAD = (bool, True)
)
# Initialize application
app = Flask(__name__)
app.config.update(cfg)
#app.config.update(cfg)
app.config["pages_root"]=env('pages_root')
app.config["static_root"]=env('static_root')
app.config["default_template"]=env('default_template')
app.config["url_prefix"]=env('url_prefix')
app.config["FLATPAGES_EXTENSION"]=env('FLATPAGES_EXTENSION')
app.config["FLATPAGES_AUTO_RELOAD"]=env('FLATPAGES_AUTO_RELOAD')
app.logger.setLevel(logging.DEBUG)
# Initialize FlatPages Index
@@ -35,10 +53,10 @@ flatpages.get('index')
app.logger.info('Initialize FET Foto Gallery App')
app.logger.info('flatpages loaded %d pages' % len(flatpages._pages))
app.logger.info("Data directory is: %s" % flatpages.root)
app.logger.info("Url prefix;: %s" % cfg.url_prefix)
csp_d=csp_default()
csp_d.update({'default-src':"'self' 'unsafe-inline'", 'script-src': "'unsafe-inline' 'self'"})
#csp_d=csp_default()
#csp_d.update({'default-src':"'self' 'unsafe-inline'", 'script-src': "'unsafe-inline' 'self'"})
@@ -87,7 +105,6 @@ def thumb(size=64,name=''):
@page_blueprint.route('/<path:name>/',strict_slashes=False)
@page_blueprint.route('/')
@csp_header()
def post(name=''):
print("Post: %s" % name)
page = flatpages.get(name)
@@ -104,8 +121,8 @@ def post(name=''):
elif os.path.exists(os.path.join('static',name)):
print("send from static dir %s" % name)
return send_from_directory(os.path.abspath('static'),name)
elif os.path.exists(os.path.join(cfg["fet_assets"],name)):
return send_from_directory(cfg["fet_assets"],name)
#elif os.path.exists(os.path.join(cfg["fet_assets"],name)):
# return send_from_directory(cfg["fet_assets"],name)
elif os.path.exists(os.path.join("blueimp",name)):
return send_from_directory(os.path.abspath('blueimp'),name)
else:
@@ -133,6 +150,6 @@ def postjson(name='index'):
app.register_blueprint(page_blueprint, url_prefix=cfg.url_prefix,static_folder='static')
app.register_blueprint(api_blueprint, url_prefix="/api/"+cfg.url_prefix,static_folder='static')
app.add_url_rule('%s/<path:name>' % cfg.url_prefix,'page', post)
app.register_blueprint(page_blueprint, url_prefix=app.config["url_prefix"],static_folder='static')
app.register_blueprint(api_blueprint, url_prefix="/api/"+app.config["url_prefix"],static_folder='static')
app.add_url_rule('%s/<path:name>' % app.config["url_prefix"],'page', post)