roundabout,
created on Sunday, 8 September 2024, 08:07:50 (1725782870),
received on Sunday, 8 September 2024, 10:58:33 (1725793113)
Author identity: vlad <vlad.muntoiu@gmail.com>
1f4f23b3519a6b80fc7cdc7ef9a24fd6f4da16ab
app.py
@@ -19,6 +19,7 @@ import mimetypes
import ruamel.yaml as yaml from PIL import Image from sqlalchemy.orm.persistence import post_updateimport config import markdown
@@ -206,14 +207,22 @@ with app.app_context():
nullable=True) replaces = db.relationship("PictureResource", remote_side="PictureResource.id", foreign_keys=[replaces_id], back_populates="replaced_by")foreign_keys=[replaces_id], back_populates="replaced_by", post_update=True)replaced_by = db.relationship("PictureResource", remote_side="PictureResource.id", foreign_keys=[replaced_by_id])foreign_keys=[replaced_by_id], post_update=True) copied_from_id = db.Column(db.Integer, db.ForeignKey("picture_resource.id"), nullable=True) copied_from = db.relationship("PictureResource", remote_side="PictureResource.id", foreign_keys=[copied_from_id], back_populates="copies", post_update=True) copies = db.relationship("PictureResource", remote_side="PictureResource.id", foreign_keys=[copied_from_id], post_update=True)licences = db.relationship("PictureLicence", back_populates="resource") def __init__(self, title, author, description, origin_url, licence_ids, mime, nature=None,replaces=None):def __init__(self, title, author, description, origin_url, licence_ids, mime, nature=None):self.title = title self.author = author self.description = description
@@ -226,9 +235,6 @@ with app.app_context():
for licence_id in licence_ids: joiner = PictureLicence(self, db.session.get(Licence, licence_id)) db.session.add(joiner) if replaces is not None:self.replaces = replacesreplaces.replaced_by = selfdef put_annotations(self, json): # Delete all previous annotations
@@ -652,6 +658,12 @@ def copy_picture(id):
new_path = path.join(config.DATA_PATH, "pictures", str(new_resource.id)) os.link(old_path, new_path) new_resource.width = resource.width new_resource.height = resource.height new_resource.copied_from = resource db.session.commit() return flask.redirect("/picture/" + str(new_resource.id))