aboutsummaryrefslogtreecommitdiff
path: root/app/blueprints/admin/admin.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-07-12 02:22:35 +0100
committerrubenwardy <rw@rubenwardy.com>2020-07-12 02:22:35 +0100
commit284683e7e541b8124b5a13bf3c7139423e063985 (patch)
treeb2df02f0b3689846fe55af2a5c975b172e684b3b /app/blueprints/admin/admin.py
parent868ced76a86585c098c4d54caff4693cbb9f3a0a (diff)
downloadcheatdb-284683e7e541b8124b5a13bf3c7139423e063985.tar.xz
Add reimport of package meta from latest release
Fixes #127
Diffstat (limited to 'app/blueprints/admin/admin.py')
-rw-r--r--app/blueprints/admin/admin.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/app/blueprints/admin/admin.py b/app/blueprints/admin/admin.py
index e4fc78b..e0bc143 100644
--- a/app/blueprints/admin/admin.py
+++ b/app/blueprints/admin/admin.py
@@ -21,7 +21,7 @@ import flask_menu as menu
from . import bp
from app.models import *
from celery import uuid, group
-from app.tasks.importtasks import importRepoScreenshot, makeVCSRelease, checkZipRelease
+from app.tasks.importtasks import importRepoScreenshot, makeVCSRelease, checkZipRelease, updateMetaFromRelease
from app.tasks.forumtasks import importTopicList, checkAllForumAccounts
from flask_wtf import FlaskForm
from wtforms import *
@@ -52,6 +52,21 @@ def admin_page():
time.sleep(0.1)
return redirect(url_for("todo.view"))
+ elif action == "reimportpackages":
+ tasks = []
+ for package in Package.query.filter_by(approved=True, soft_deleted=False).all():
+ release = package.releases.first()
+ if release:
+ zippath = release.url.replace("/uploads/", app.config["UPLOAD_DIR"])
+ tasks.append(updateMetaFromRelease.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")))