src/catedit/views/utils.py
changeset 91 59450d864881
parent 53 0acc8b2adcb9
child 97 fe8782a67fcf
--- a/src/catedit/views/utils.py	Fri Apr 10 17:30:19 2015 +0200
+++ b/src/catedit/views/utils.py	Tue Apr 14 12:31:07 2015 +0200
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-# -*- coding: utf-8 -*- 
+# -*- coding: utf-8 -*-
 """
 utils.py:
 Module that groups utility functions and classes that are used by views,
@@ -7,7 +7,7 @@
 be cached
 """
 
-from catedit import app, github, cache, log_api_rate, save_links
+from catedit import app, github, cache, log_api_rate, save_links, celery
 from catedit.models import Category
 from catedit.resources import CategoryAPI, CategoryChangesAPI
 from flask import redirect, url_for, session
@@ -572,3 +572,21 @@
                 }
             )
     return cat_list
+
+
+def get_tasks_status(task_ids_list, delete_task_from_session, repository) :
+    logger.debug("get_tasks_status : %r " % task_ids_list)
+    res = { 'states' : {} }
+    running_tasks_nb = 0
+    for task_id in task_ids_list:
+        a_res = celery.AsyncResult(task_id)
+        res['states'][task_id] = a_res.state
+        if a_res.ready():
+            a_res.forget()
+            if delete_task_from_session:
+                session.get('tasks',{}).get(repository, []).remove(task_id)
+        else:
+            running_tasks_nb += 1
+    res['running_tasks_nb'] = running_tasks_nb
+
+    return res