Ejemplo n.º 1
0
 def get(self, request, token):
     status = tasks.find(request, token)
     if status is not None:
         if status.is_completed():
             cmds = [commands.hide_progress()]
             if status.callback:
                 fn = status.callback['fn']
                 if isinstance(fn, tuple) and len(fn) == 2:
                     (path, static_method) = fn
                     index = path.rfind('.')
                     classname = path[index + 1:len(path)]
                     module = __import__(
                         path[0:index], fromlist=[classname])
                     klass = getattr(module, classname)
                     cmds.extend(getattr(klass, static_method).__call__(
                         request,
                         status.result,
                         status.callback['context']
                     ))
             status.forget()
             return HttpResponseAjax(cmds, request)
         elif status.is_failed():
             status.forget()
             messages.error(request, DEFAULT_ERROR_MESSAGE)
             return HttpResponseAjax([
                 commands.hide_progress(),
             ], request)
         elif status.is_cancelled():
             status.forget()
             return HttpResponseAjax([
                 commands.hide_progress(),
             ], request)
         elif status.is_running():
             return HttpResponseAjax([
                 commands.update_progress(status.progress),
             ], request)
         else:
             return HttpResponseAjax([
                 commands.update_progress(),
             ], request)
     else:
         messages.error(request, DEFAULT_ERROR_MESSAGE)
         return HttpResponseAjax([
             commands.hide_progress(),
         ], request)
Ejemplo n.º 2
0
 def get(self, request, token):
     status = tasks.find(request, token)
     if status is not None:
         if status.is_completed():
             cmds = [commands.hide_progress()]
             if status.callback:
                 fn = status.callback['fn']
                 if isinstance(fn, tuple) and len(fn) == 2:
                     (path, static_method) = fn
                     index = path.rfind('.')
                     classname = path[index + 1:len(path)]
                     module = __import__(path[0:index],
                                         fromlist=[classname])
                     klass = getattr(module, classname)
                     cmds.extend(
                         getattr(klass, static_method).__call__(
                             request, status.result,
                             status.callback['context']))
             status.forget()
             return HttpResponseAjax(cmds, request)
         elif status.is_failed():
             status.forget()
             messages.error(request, DEFAULT_ERROR_MESSAGE)
             return HttpResponseAjax([
                 commands.hide_progress(),
             ], request)
         elif status.is_cancelled():
             status.forget()
             return HttpResponseAjax([
                 commands.hide_progress(),
             ], request)
         elif status.is_running():
             return HttpResponseAjax([
                 commands.update_progress(status.progress),
             ], request)
         else:
             return HttpResponseAjax([
                 commands.update_progress(),
             ], request)
     else:
         messages.error(request, DEFAULT_ERROR_MESSAGE)
         return HttpResponseAjax([
             commands.hide_progress(),
         ], request)
Ejemplo n.º 3
0
 def post(self, request, token):
     status = tasks.find(request, token)
     if status is not None:
         status.cancel()
         messages.info(request, _('The task execution has been aborted.'))
     else:
         messages.error(request, DEFAULT_ERROR_MESSAGE)
     return HttpResponseAjax([
         commands.hide_progress(),
     ], request)
Ejemplo n.º 4
0
 def post(self, request, token):
     status = tasks.find(request, token)
     if status is not None:
         status.cancel()
         messages.info(request, _('The task execution has been aborted.'))
     else:
         messages.error(request, DEFAULT_ERROR_MESSAGE)
     return HttpResponseAjax([
         commands.hide_progress(),
     ], request)