Format with Black

This commit is contained in:
Michał Gdula 2023-04-12 15:18:13 +00:00
parent d36699bd1f
commit 02d99a1671
5 changed files with 35 additions and 27 deletions

View file

@ -43,17 +43,17 @@ def create_app(): # pylint: disable=R0914
print("Creating database") print("Creating database")
with app.app_context(): with app.app_context():
db.create_all() db.create_all()
register_user = User( register_user = User(
username=app.config["ADMIN_CONF"]["username"], username=app.config["ADMIN_CONF"]["username"],
email=app.config["ADMIN_CONF"]["email"], email=app.config["ADMIN_CONF"]["email"],
password=generate_password_hash('changeme!', method="sha256"), password=generate_password_hash("changeme!", method="sha256"),
) )
db.session.add(register_user) db.session.add(register_user)
db.session.commit() db.session.commit()
print( print(
""" """
#################################################### ####################################################
# DEFAULY ADMIN USER GENERATED WITH GIVEN USERNAME # # DEFAULY ADMIN USER GENERATED WITH GIVEN USERNAME #
# THE DEFAULT PASSWORD "changeme!" HAS BEEN USED, # # THE DEFAULT PASSWORD "changeme!" HAS BEEN USED, #
@ -67,7 +67,7 @@ def create_app(): # pylint: disable=R0914
if not os.path.exists(MIGRATIONS_DIR): if not os.path.exists(MIGRATIONS_DIR):
print("Creating migrations directory") print("Creating migrations directory")
migrate_init(directory=MIGRATIONS_DIR) migrate_init(directory=MIGRATIONS_DIR)
# Check if migrations are up to date # Check if migrations are up to date
with app.app_context(): with app.app_context():
print("Checking for schema changes...") print("Checking for schema changes...")

View file

@ -170,7 +170,12 @@ def modify_group():
if group.author_id != current_user.id: if group.author_id != current_user.id:
abort(403) abort(403)
if action == "add" and not GroupJunction.query.filter_by(group_id=group_id, post_id=image_id).first(): if (
action == "add"
and not GroupJunction.query.filter_by(
group_id=group_id, post_id=image_id
).first()
):
db.session.add(GroupJunction(group_id=group_id, post_id=image_id)) db.session.add(GroupJunction(group_id=group_id, post_id=image_id))
elif request.form["action"] == "remove": elif request.form["action"] == "remove":
GroupJunction.query.filter_by(group_id=group_id, post_id=image_id).delete() GroupJunction.query.filter_by(group_id=group_id, post_id=image_id).delete()

View file

@ -11,6 +11,7 @@ class GroupJunction(db.Model): # pylint: disable=too-few-public-methods, C0103
Junction table for posts and groups Junction table for posts and groups
Joins with posts and groups Joins with posts and groups
""" """
__tablename__ = "group_junction" __tablename__ = "group_junction"
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
@ -29,46 +30,49 @@ class Post(db.Model): # pylint: disable=too-few-public-methods, C0103
""" """
Post table Post table
""" """
__tablename__ = "post" __tablename__ = "post"
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
author_id = db.Column(db.Integer, db.ForeignKey("user.id")) author_id = db.Column(db.Integer, db.ForeignKey("user.id"))
filename = db.Column(db.String, unique=True, nullable=False) filename = db.Column(db.String, unique=True, nullable=False)
mimetype = db.Column(db.String, nullable=False) mimetype = db.Column(db.String, nullable=False)
exif = db.Column(db.PickleType, nullable=False) exif = db.Column(db.PickleType, nullable=False)
colours = db.Column(db.PickleType, nullable=False) colours = db.Column(db.PickleType, nullable=False)
description = db.Column(db.String, nullable=False) description = db.Column(db.String, nullable=False)
alt = db.Column(db.String, nullable=False) alt = db.Column(db.String, nullable=False)
created_at = db.Column( created_at = db.Column(
db.DateTime, db.DateTime,
nullable=False, nullable=False,
server_default=db.func.now(), # pylint: disable=E1102 server_default=db.func.now(), # pylint: disable=E1102
) )
junction = db.relationship("GroupJunction", backref="posts") junction = db.relationship("GroupJunction", backref="posts")
class Group(db.Model): # pylint: disable=too-few-public-methods, C0103 class Group(db.Model): # pylint: disable=too-few-public-methods, C0103
""" """
Group table Group table
""" """
__tablename__ = "group" __tablename__ = "group"
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False) name = db.Column(db.String, nullable=False)
description = db.Column(db.String, nullable=False) description = db.Column(db.String, nullable=False)
author_id = db.Column(db.Integer, db.ForeignKey("user.id")) author_id = db.Column(db.Integer, db.ForeignKey("user.id"))
created_at = db.Column( created_at = db.Column(
db.DateTime, db.DateTime,
nullable=False, nullable=False,
server_default=db.func.now(), # pylint: disable=E1102 server_default=db.func.now(), # pylint: disable=E1102
) )
junction = db.relationship("GroupJunction", backref="groups") junction = db.relationship("GroupJunction", backref="groups")
@ -76,15 +80,16 @@ class User(db.Model, UserMixin): # pylint: disable=too-few-public-methods, C010
""" """
User table User table
""" """
__tablename__ = "user" __tablename__ = "user"
# Gallery used information # Gallery used information
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
alt_id = db.Column(db.String, unique=True, nullable=False, default=str(uuid4())) alt_id = db.Column(db.String, unique=True, nullable=False, default=str(uuid4()))
profile_picture = db.Column(db.String, nullable=True, default=None) profile_picture = db.Column(db.String, nullable=True, default=None)
username = db.Column(db.String, unique=True, nullable=False) username = db.Column(db.String, unique=True, nullable=False)
email = db.Column(db.String, unique=True, nullable=False) email = db.Column(db.String, unique=True, nullable=False)
password = db.Column(db.String, nullable=False) password = db.Column(db.String, nullable=False)
joined_at = db.Column( joined_at = db.Column(
@ -92,9 +97,9 @@ class User(db.Model, UserMixin): # pylint: disable=too-few-public-methods, C010
nullable=False, nullable=False,
server_default=db.func.now(), # pylint: disable=E1102 server_default=db.func.now(), # pylint: disable=E1102
) )
posts = db.relationship('Post', backref='author') posts = db.relationship("Post", backref="author")
groups = db.relationship('Group', backref='author') groups = db.relationship("Group", backref="author")
def get_id(self): def get_id(self):
return str(self.alt_id) return str(self.alt_id)

View file

@ -30,8 +30,7 @@ def groups():
# Get the 3 most recent images # Get the 3 most recent images
images = ( images = (
GroupJunction.query GroupJunction.query.with_entities(GroupJunction.post_id)
.with_entities(GroupJunction.post_id)
.filter(GroupJunction.group_id == group.id) .filter(GroupJunction.group_id == group.id)
.order_by(GroupJunction.date_added.desc()) .order_by(GroupJunction.date_added.desc())
.limit(3) .limit(3)
@ -41,8 +40,7 @@ def groups():
group.images = [] group.images = []
for image in images: for image in images:
group.images.append( group.images.append(
Post.query Post.query.with_entities(Post.filename, Post.alt, Post.colours, Post.id)
.with_entities(Post.filename, Post.alt, Post.colours, Post.id)
.filter(Post.id == image[0]) .filter(Post.id == image[0])
.first() .first()
) )
@ -60,8 +58,7 @@ def group(group_id):
# Get all images in the group from the junction table # Get all images in the group from the junction table
junction = ( junction = (
GroupJunction.query GroupJunction.query.with_entities(GroupJunction.post_id)
.with_entities(GroupJunction.post_id)
.filter(GroupJunction.group_id == group_id) .filter(GroupJunction.group_id == group_id)
.order_by(GroupJunction.date_added.desc()) .order_by(GroupJunction.date_added.desc())
.all() .all()

View file

@ -38,8 +38,9 @@ def index():
# get the images for the current page # get the images for the current page
images = ( images = (
Post.query Post.query.with_entities(
.with_entities( Post.filename, Post.alt, Post.colours, Post.created_at, Post.id) Post.filename, Post.alt, Post.colours, Post.created_at, Post.id
)
.order_by(Post.id.desc()) .order_by(Post.id.desc())
.offset((page - 1) * limit) .offset((page - 1) * limit)
.limit(limit) .limit(limit)