roundabout,
created on Saturday, 7 September 2024, 14:10:42 (1725718242),
received on Saturday, 7 September 2024, 16:16:28 (1725725788)
Author identity: vlad <vlad.muntoiu@gmail.com>
c1040a95c0d13bd0e0b020107aec837c5d277f43
app.py
@@ -533,6 +533,27 @@ def get_annotations(id):
return flask.jsonify(regions_json) @app.route("/picture/<int:id>/delete") def delete_picture(id): resource = db.session.get(PictureResource, id) if resource is None: flask.abort(404) current_user = db.session.get(User, flask.session.get("username")) if current_user is None: flask.abort(401) if resource.author != current_user and not current_user.admin: flask.abort(403) PictureLicence.query.filter_by(resource=resource).delete() PictureRegion.query.filter_by(resource=resource).delete() db.session.delete(resource) db.session.commit() return flask.redirect("/") @app.route("/query-pictures", methods=["POST"]) # sadly GET can't have a body def query_pictures(): offset = int(flask.request.args.get("offset", 0))
templates/picture.html
@@ -17,7 +17,8 @@
<a href="/raw/picture/{{ resource.id }}" download="GigadataPicture_{{ resource.id }}{{ file_extension }}">Download</a> | <a href="/picture/{{ resource.id }}/annotate">Annotate</a> | <a href="/picture/{{ resource.id }}/put-annotations-form">Submit JSON annotations</a> | <a href="/picture/{{ resource.id }}/get-annotations">Download annotations</a><a href="/picture/{{ resource.id }}/get-annotations">Download annotations</a> | <a href="/picture/{{ resource.id }}/delete">Delete</a></p> <div id="annotation-zone"> <img id="annotation-image" src="/raw/picture/{{ resource.id }}" alt="{{ resource.title }}">