aboutsummaryrefslogtreecommitdiff
path: root/app/blueprints
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/blueprints
parentfacdd35b11d3a635246a6287ea33d020f64c349b (diff)
downloadcheatdb-6e626c0f8949c8a705973015387100507a8b1ab9.tar.xz
Add admin option to check all releases
Diffstat (limited to 'app/blueprints')
-rw-r--r--app/blueprints/admin/admin.py19
-rw-r--r--app/blueprints/packages/releases.py4
2 files changed, 19 insertions, 4 deletions
diff --git a/app/blueprints/admin/admin.py b/app/blueprints/admin/admin.py
index c3591f5..6de85d0 100644
--- a/app/blueprints/admin/admin.py
+++ b/app/blueprints/admin/admin.py
@@ -20,8 +20,8 @@ from flask_user import *
import flask_menu as menu
from . import bp
from app.models import *
-from celery import uuid
-from app.tasks.importtasks import importRepoScreenshot, importAllDependencies, makeVCSRelease
+from celery import uuid, group
+from app.tasks.importtasks import importRepoScreenshot, importAllDependencies, makeVCSRelease, checkZipRelease
from app.tasks.forumtasks import importTopicList, checkAllForumAccounts
from flask_wtf import FlaskForm
from wtforms import *
@@ -37,6 +37,21 @@ def admin_page():
PackageRelease.query.filter(PackageRelease.task_id != None).delete()
db.session.commit()
return redirect(url_for("admin.admin_page"))
+ elif action == "checkreleases":
+ releases = PackageRelease.query.filter(PackageRelease.url.like("/uploads/%")).all()
+
+ tasks = []
+ for release in releases:
+ zippath = release.url.replace("/uploads/", app.config["UPLOAD_DIR"])
+ tasks.append(checkZipRelease.s(release.id, zippath))
+
+ result = group(tasks).apply_async()
+
+ while not result.ready():
+ import time
+ time.sleep(0.1)
+
+ return redirect(url_for("todo.view"))
elif action == "importmodlist":
task = importTopicList.delay()
return redirect(url_for("tasks.check", id=task.id, r=url_for("todo.topics")))
diff --git a/app/blueprints/packages/releases.py b/app/blueprints/packages/releases.py
index e160fcf..35b27c1 100644
--- a/app/blueprints/packages/releases.py
+++ b/app/blueprints/packages/releases.py
@@ -22,7 +22,7 @@ from . import bp
from app.rediscache import has_key, set_key, make_download_key
from app.models import *
-from app.tasks.importtasks import makeVCSRelease, checkZIPRelease
+from app.tasks.importtasks import makeVCSRelease, checkZipRelease
from app.utils import *
from celery import uuid
@@ -110,7 +110,7 @@ def create_release(package):
db.session.add(rel)
db.session.commit()
- checkZIPRelease.apply_async((rel.id, uploadedPath), task_id=rel.task_id)
+ checkZipRelease.apply_async((rel.id, uploadedPath), task_id=rel.task_id)
msg = "{}: Release {} created".format(package.title, rel.title)
triggerNotif(package.author, current_user, msg, rel.getEditURL())