aboutsummaryrefslogtreecommitdiffstats
path: root/routes/media.py
diff options
context:
space:
mode:
authorFulgen301 <tokmajigeorge@gmail.com>2019-07-26 13:50:45 +0200
committerFulgen301 <tokmajigeorge@gmail.com>2019-09-08 21:48:46 +0200
commitddf75616abfd9dcf7bd8836b6de39c649a32410f (patch)
tree39262bd57f3438cc8ef9c6a09743d43116ac22e1 /routes/media.py
parent38e0af00dc06f0d4c5d9672b2c786ae7bf9be860 (diff)
downloadparry-ddf75616abfd9dcf7bd8836b6de39c649a32410f.tar.gz
parry-ddf75616abfd9dcf7bd8836b6de39c649a32410f.zip
Add file deletion
Diffstat (limited to 'routes/media.py')
-rw-r--r--routes/media.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/routes/media.py b/routes/media.py
index 37f57c9..34a53ff 100644
--- a/routes/media.py
+++ b/routes/media.py
@@ -14,6 +14,7 @@
from ..helpers import *
import magic
+from bottle import delete
from datetime import datetime
def _upload_file(file, entry=None):
@@ -66,3 +67,17 @@ def get_media_id(id):
return static_file(str(file.id), os.path.join(os.getcwd(), "media"), file.content_type, download=file.name if request.params.download else False)
raise HTTPResponse(status=404)
+
+@delete("/api/media/<id>")
+@jwt_auth_required
+def delete_media_id(id):
+ session = DBSession()
+ try:
+ file = session.query(File).filter_by(id=id).one()
+ except db.orm.exc.NoResultFound:
+ raise HTTPResponse(status=404)
+
+ session.delete(file)
+ _delete_file(file)
+ session.commit()
+ return HTTPResponse(status=204)