diff --git a/gallery/__init__.py b/gallery/__init__.py index a6a8dd4..9060fe9 100644 --- a/gallery/__init__.py +++ b/gallery/__init__.py @@ -79,25 +79,15 @@ def create_app(test_config=None): return render_template('error.html', error=error, msg=msg), err.code # Load login, registration and logout manager - from . import auth + from gallery import auth app.register_blueprint(auth.blueprint) - # Load routes for home and images - from . import routing - app.register_blueprint(routing.blueprint) - app.add_url_rule('/', endpoint='index') - - # Load routes for groups - from . import groups - app.register_blueprint(groups.blueprint) - - # Load routes for settings - from . import settings - app.register_blueprint(settings.blueprint) - - # Load APIs - from . import api + # Load the different routes + from .routes import api, groups, routing, settings app.register_blueprint(api.blueprint) + app.register_blueprint(groups.blueprint) + app.register_blueprint(routing.blueprint) + app.register_blueprint(settings.blueprint) logging.info('Gallery started successfully!') diff --git a/gallery/db.py b/gallery/db.py index cd5946e..8a3a124 100644 --- a/gallery/db.py +++ b/gallery/db.py @@ -135,4 +135,5 @@ class Bans (base): # pylint: disable=too-few-public-methods, C0103 # check if database file exists, if not create it if not os.path.isfile(DB_PATH): - base.metadata.create_all(engine) \ No newline at end of file + base.metadata.create_all(engine) + print('Database created') \ No newline at end of file diff --git a/gallery/api.py b/gallery/routes/api.py similarity index 99% rename from gallery/api.py rename to gallery/routes/api.py index 977da6f..f4d8b5c 100644 --- a/gallery/api.py +++ b/gallery/routes/api.py @@ -18,8 +18,8 @@ from PIL import Image, ImageOps, ImageFilter from sqlalchemy.orm import sessionmaker from gallery.auth import login_required -from . import db -from . import metadata as mt +from gallery import db +from gallery import metadata as mt blueprint = Blueprint('api', __name__, url_prefix='/api') diff --git a/gallery/groups.py b/gallery/routes/groups.py similarity index 87% rename from gallery/groups.py rename to gallery/routes/groups.py index 4e5a043..753e982 100644 --- a/gallery/groups.py +++ b/gallery/routes/groups.py @@ -9,10 +9,7 @@ from datetime import datetime as dt from flask import Blueprint, abort, jsonify, render_template, url_for, request, g from sqlalchemy.orm import sessionmaker - -from gallery.auth import login_required - -from . import db # Import db to create a session +from gallery import db blueprint = Blueprint('group', __name__, url_prefix='/group') @@ -31,15 +28,11 @@ def groups(): thumbnail = db_session.query(db.GroupJunction.post_id).filter(db.GroupJunction.group_id == group.id).order_by(db.GroupJunction.date_added.desc()).first() if thumbnail is not None: - group.thumbnail = db_session.query(db.Posts.file_name, - db.Posts.post_alt, - db.Posts.image_colours, - db.Posts.id).filter(db.Posts.id == thumbnail[0]).first() - else: - group.thumbnail = None + group.thumbnail = db_session.query(db.Posts.file_name, db.Posts.post_alt, db.Posts.image_colours, db.Posts.id).filter(db.Posts.id == thumbnail[0]).first() return render_template('groups/list.html', groups=groups) + @blueprint.route('/') def group(group_id): """ @@ -48,7 +41,7 @@ def group(group_id): group = db_session.query(db.Groups).filter(db.Groups.id == group_id).first() if group is None: - abort(404, 'Group not found') + abort(404, 'Group not found! D:') group.author_username = db_session.query(db.Users.username).filter(db.Users.id == group.author_id).first()[0] @@ -61,6 +54,7 @@ def group(group_id): return render_template('groups/group.html', group=group, images=images) + @blueprint.route('//') def group_post(group_id, image_id): """ @@ -87,4 +81,4 @@ def group_post(group_id, image_id): if prev_url is not None: prev_url = url_for('group.group_post', group_id=group_id, image_id=prev_url[0]) - return render_template('image.html', image=img, next_url=next_url, prev_url=prev_url) \ No newline at end of file + return render_template('image.html', image=img, next_url=next_url, prev_url=prev_url) diff --git a/gallery/routing.py b/gallery/routes/routing.py similarity index 98% rename from gallery/routing.py rename to gallery/routes/routing.py index 7e88c00..b2ba6d4 100644 --- a/gallery/routing.py +++ b/gallery/routes/routing.py @@ -7,9 +7,7 @@ from flask import Blueprint, render_template, url_for from werkzeug.exceptions import abort from sqlalchemy.orm import sessionmaker - -from . import db -from . import metadata as mt +from gallery import db blueprint = Blueprint('gallery', __name__) diff --git a/gallery/settings.py b/gallery/routes/settings.py similarity index 100% rename from gallery/settings.py rename to gallery/routes/settings.py diff --git a/gallery/templates/image.html b/gallery/templates/image.html index 616c69b..595507b 100644 --- a/gallery/templates/image.html +++ b/gallery/templates/image.html @@ -139,20 +139,28 @@ {{ image.created_at }} -
- {% for group in image.groups %} - - - {{ group['name'] }} - - {% endfor %} - {% if image.author_id == g.user.id %} + {% if group and image.author_id == g.user.id %} +
+ {% for group in image.groups %} + + + {{ group['name'] }} + + {% endfor %} + - {% endif %} -
+
+ {% elif image.author_id == g.user.id %} +
+ +
+ {% endif %} {% for tag in image.image_exif %}