aboutsummaryrefslogtreecommitdiff
path: root/app/tasks/importtasks.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-01-19 01:59:00 +0000
committerrubenwardy <rw@rubenwardy.com>2020-01-19 02:20:20 +0000
commit6e626c0f8949c8a705973015387100507a8b1ab9 (patch)
tree9334c1c39d63ed0eac0c847f49604521ac2db20e /app/tasks/importtasks.py
parentfacdd35b11d3a635246a6287ea33d020f64c349b (diff)
downloadcheatdb-6e626c0f8949c8a705973015387100507a8b1ab9.tar.xz
Add admin option to check all releases
Diffstat (limited to 'app/tasks/importtasks.py')
-rw-r--r--app/tasks/importtasks.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/app/tasks/importtasks.py b/app/tasks/importtasks.py
index 3c0b0ed..21e931e 100644
--- a/app/tasks/importtasks.py
+++ b/app/tasks/importtasks.py
@@ -229,8 +229,8 @@ def makeVCSReleaseFromGithub(id, branch, release, url):
return release.url
-@celery.task()
-def checkZIPRelease(id, path):
+@celery.task(bind=True)
+def checkZipRelease(self, id, path):
release = PackageRelease.query.get(id)
if release is None:
raise TaskError("No such release!")
@@ -246,6 +246,13 @@ def checkZIPRelease(id, path):
tree = build_tree(temp, expected_type=ContentType[release.package.type.name], \
author=release.package.author.username, name=release.package.name)
except MinetestCheckError as err:
+ if "Fails validation" not in release.title:
+ release.title += " (Fails validation)"
+
+ release.task_id = self.request.id
+ release.approved = False
+ db.session.commit()
+
raise TaskError(str(err))
release.task_id = None