aboutsummaryrefslogtreecommitdiff
path: root/app/admin
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-27 16:57:29 +0000
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-27 16:57:29 +0000
commit7248dad83a9d3b4393f74e447352c2f8f0da81d7 (patch)
tree58a416f1a89ce60e8dc3c2442cc73948783515dc /app/admin
parentEmphasize abrupt change (diff)
downloadAnnotateChange-7248dad83a9d3b4393f74e447352c2f8f0da81d7.tar.gz
AnnotateChange-7248dad83a9d3b4393f74e447352c2f8f0da81d7.zip
Delete the dataset source file too
Diffstat (limited to 'app/admin')
-rw-r--r--app/admin/routes.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/admin/routes.py b/app/admin/routes.py
index bed0d18..0317e44 100644
--- a/app/admin/routes.py
+++ b/app/admin/routes.py
@@ -103,6 +103,14 @@ def manage_datasets():
flash("Dataset doesn't exist.", "error")
return redirect(url_for("admin.manage_datasets"))
+ dataset_dir = os.path.join(
+ current_app.instance_path, current_app.config["DATASET_DIR"]
+ )
+ filename = os.path.join(dataset_dir, dataset.name + ".json")
+ if not os.path.exists(filename):
+ flash("Internal error: dataset file doesn't exist!", "error")
+ return redirect(url_for("admin.manage_datasets"))
+
tasks = Task.query.filter_by(dataset_id=dataset.id).all()
for task in tasks:
for ann in Annotation.query.filter_by(task_id=task.id).all():
@@ -110,6 +118,7 @@ def manage_datasets():
db.session.delete(task)
db.session.delete(dataset)
db.session.commit()
+ os.unlink(filename)
flash("Dataset deleted successfully.", "success")
overview = []