diff options
| author | rubenwardy <rw@rubenwardy.com> | 2020-01-19 01:59:00 +0000 |
|---|---|---|
| committer | rubenwardy <rw@rubenwardy.com> | 2020-01-19 02:20:20 +0000 |
| commit | 6e626c0f8949c8a705973015387100507a8b1ab9 (patch) | |
| tree | 9334c1c39d63ed0eac0c847f49604521ac2db20e /app/blueprints | |
| parent | facdd35b11d3a635246a6287ea33d020f64c349b (diff) | |
| download | cheatdb-6e626c0f8949c8a705973015387100507a8b1ab9.tar.xz | |
Add admin option to check all releases
Diffstat (limited to 'app/blueprints')
| -rw-r--r-- | app/blueprints/admin/admin.py | 19 | ||||
| -rw-r--r-- | app/blueprints/packages/releases.py | 4 |
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()) |
