diff --git a/build_docker b/build_docker index fe2ab6e..f228c86 100755 --- a/build_docker +++ b/build_docker @@ -1,16 +1,19 @@ docker stop flask-fet-fotos docker container rm flask-fet-fotos docker build -t flask-fet-fotos . -#docker run -d --name mycontainer -p 8080:8080 -v $(pwd):/app -e FLASK_APP=main.py -e FLASK_DEBUG=1 myimage flask run --host=0.0.0.0 --port=8080 +# while true; do read -p "Run a docker container?" yn case $yn in - [Yy]* ) docker run --name flask-fet-fotos -d -p 8080:8080 \ - -v "$(pwd)/data:/mnt" flask-fet-fotos; break;; + [Yy]* ) docker run -d --name flask-fet-fotos -p 8002:8002 -v $(pwd):/app -e pages_root=/app/data -e FLASK_APP=main.py -e FLASK_DEBUG=1 flask-fet-fotos flask run --host=0.0.0.0 --port=8002; break;; [Nn]* ) break;; * ) echo "Please answer yes or no.";; esac done -#-v "$(pwd):/app" \ No newline at end of file +#-v "$(pwd):/app" + +#docker run --name flask-fet-fotos -d -p 8080:8080 \ + # -v "$(pwd)/data:/mnt" flask-fet-fotos; break;; +# \ No newline at end of file diff --git a/data/index.md b/data/index.md index 74338e5..92b585b 100644 --- a/data/index.md +++ b/data/index.md @@ -1 +1,2 @@ title: title +template: gallery_index.html \ No newline at end of file diff --git a/data/test.html b/data/test.html new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..4caf627 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3" +services: + flaskfetfotos: + build: + context: . + ports: + - "8002:8080" + environment: + FLASK_DEBUG: 1 + FLASK_APP: main.py + volumes: + - .:/app \ No newline at end of file diff --git a/foto_gallery/__init__.py b/foto_gallery/__init__.py index 16d8a99..4543a69 100644 --- a/foto_gallery/__init__.py +++ b/foto_gallery/__init__.py @@ -21,10 +21,10 @@ import environ env = environ.Env( # set casting, default value DEBUG=(bool, False), - pages_root=(str,'data_sample'), + pages_root=(str,'../data'), static_root=(str,'static'), - default_template=(str, 'page.html'), - url_prefix =(str, "/stuff"), + default_template=(str, 'gallery.html'), + url_prefix =(str, "/fotos"), FLATPAGES_EXTENSION = (str, ".md"), FLATPAGES_AUTO_RELOAD = (bool, True) @@ -32,12 +32,14 @@ env = environ.Env( # Initialize application app = Flask(__name__) #app.config.update(cfg) -app.config["pages_root"]=env('pages_root') +app.config["pages_root"]=os.path.abspath(env('pages_root')) app.config["static_root"]=env('static_root') app.config["default_template"]=env('default_template') +app.config["FLATPAGES_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.config["FLATPAGES_ROOT"]=os.path.abspath(env('pages_root')) app.logger.setLevel(logging.DEBUG) # Initialize FlatPages Index @@ -47,7 +49,7 @@ flatpages_index.Links.endpoint="intern.post" flatpages_index.Links.image_url=lambda s,x: url_for(s.endpoint,name=x) flatpages_index.Links.thumb_url=lambda s,x: url_for("intern.thumb",size=128,name=x) flatpages_index.Links.image_url=lambda s,x: url_for("intern.post",name=x) -flatpages_index.Page.page_defaults={"type":"gallery"} +flatpages_index.Page.page_defaults={"type":"gallery", "template":"gallery.html"} flatpages.get('index') app.logger.info('Initialize FET Foto Gallery App') @@ -106,17 +108,18 @@ def thumb(size=64,name=''): @page_blueprint.route('//',strict_slashes=False) @page_blueprint.route('/') def post(name=''): - print("Post: %s" % name) + app.logger.debug("post_name: %s" % name) page = flatpages.get(name) if not page is None: page["has_img"]=True page.links.endpoint='intern.post' - + app.logger.debug(dict(page)) return render_template(page["template"], post=page, pth=page["dirpath"]) if os.path.exists(os.path.join(app.config["FLATPAGES_ROOT"],name)): + app.logger.debug("sending static:%s" % name) return send_from_directory(app.config["FLATPAGES_ROOT"],name) elif os.path.exists(os.path.join('static',name)): print("send from static dir %s" % name) @@ -126,9 +129,6 @@ def post(name=''): elif os.path.exists(os.path.join("blueimp",name)): return send_from_directory(os.path.abspath('blueimp'),name) else: - print("%s not found" % os.path.abspath(os.path.join('static',name))) - print("%s not found" % os.path.abspath(os.path.join(cfg["fet_assets"],name))) - return abort(404) @api_blueprint.route('/.json',strict_slashes=False) diff --git a/foto_gallery/templates/gallery.html b/foto_gallery/templates/gallery.html index 0f976cd..e014262 100644 --- a/foto_gallery/templates/gallery.html +++ b/foto_gallery/templates/gallery.html @@ -1,9 +1,7 @@ {# -*-jinja2-*- #} -{% extends "layoutfetbs3.html" %} +{% extends "layout.html" %} {% block head %} - - {% endblock %} @@ -12,6 +10,7 @@

{{post.title}}

von {{post.author}} {{post.html | safe}} + {% if post.links.images |length > 0 %}
@@ -28,16 +27,17 @@
    -