]> git.lizzy.rs Git - cheatdb.git/blobdiff - app/blueprints/admin/admin.py
Add admin function to import foreign release URLs
[cheatdb.git] / app / blueprints / admin / admin.py
index 01bd196b0bf5b25e41eacfe71621ba6a3cbb4546..382dda80093084a5c2ffd3e668abc04913a2732d 100644 (file)
@@ -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")))