diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-07-14 00:28:56 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2020-07-14 00:28:56 +0100 |
commit | aa6892da82c709670a447434496f16392617aa69 (patch) | |
tree | f8390e6baa9cc56e0bc804f7aef020149e4e10ab /app/blueprints/admin/admin.py | |
parent | 3fbc5f7751ad09243ce6b15a2d04ce5c2fb664a0 (diff) | |
download | cheatdb-aa6892da82c709670a447434496f16392617aa69.tar.xz |
Add admin function to import foreign release URLs
Diffstat (limited to 'app/blueprints/admin/admin.py')
-rw-r--r-- | app/blueprints/admin/admin.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/app/blueprints/admin/admin.py b/app/blueprints/admin/admin.py index 01bd196..382dda8 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, updateMetaFromRelease +from app.tasks.importtasks import importRepoScreenshot, makeVCSRelease, checkZipRelease, updateMetaFromRelease, importForeignDownloads from app.tasks.forumtasks import importTopicList, checkAllForumAccounts from flask_wtf import FlaskForm from wtforms import * @@ -71,6 +71,21 @@ def admin_page(): return redirect(url_for("todo.view")) + elif action == "importforeign": + releases = PackageRelease.query.filter(PackageRelease.url.like("http%")).all() + + tasks = [] + for release in releases: + tasks.append(importForeignDownloads.s(release.id)) + + 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"))) |