iro/controller/viewinterface.py
branchdevel
changeset 136 ca926774e16c
parent 135 f8640c663e3e
child 191 1816e97881ce
equal deleted inserted replaced
135:f8640c663e3e 136:ca926774e16c
     1 # -*- coding: utf-8 -*-
     1 # -*- coding: utf-8 -*-
     2 from ..model.decorators import vUser, vRoute, dbdefer, vTyp
     2 from ..model.decorators import vUser, vRoute, dbdefer, vTyp
     3 from ..model.message import SMS, Fax, Mail
     3 from ..model.message import SMS, Fax, Mail
     4 
     4 
     5 from ..validate import validate, vBool, vHash, vTel, vEmail
     5 from ..validate import validate, vBool, vTel, vEmail, vInteger
     6 
     6 
     7 from .task import createJob
     7 from .task import createJob
     8 
     8 
     9 class Interface(object):
     9 class Interface(object):
    10     '''class for a xmlrpc user
    10     '''class for a xmlrpc user
    11     '''
    11     '''
    12     
    12     
    13     @validate(kwd="detailed", func=vBool, need=False)
    13     @validate(kwd="detailed", func=vBool, need=False)
    14     @validate(kwd="id", func=vHash, need=False, maxlength=40)
    14     @validate(kwd="id", func=vInteger, minv=0, need=False, none_allowed=True)
    15     @vUser
    15     @vUser
    16     @dbdefer
    16     @dbdefer
    17     def status(self, session, user, id=None, detailed=False):
    17     def status(self, session, user, id=None, detailed=False):
    18         '''Gibt den aktuellen Status eines Auftrages oder Mehreren zurück.
    18         '''Gibt den aktuellen Status eines Auftrages oder Mehreren zurück.
    19 
    19 
    31         '''
    31         '''
    32         user = session.merge(user)
    32         user = session.merge(user)
    33         ret={}
    33         ret={}
    34         if not id:
    34         if not id:
    35             for job in  user.jobs:
    35             for job in  user.jobs:
    36                 ret[job.hash]={"status":job.status}
    36                 ret[str(job.id)]={"status":job.status}
    37         else:
    37         else:
    38             ret[id]={"status":user.job(id).status}
    38             ret[str(id)]={"status":user.job(id).status}
    39 
    39         
    40         return ret
    40         return ret
    41 
    41 
    42     @vUser
    42     @vUser
    43     @validate(kwd="id", func=vHash,maxlength=40)
    43     @validate(kwd="id", func=vInteger, minv=0)
    44     def stop(self, user, id):
    44     def stop(self, user, id):
    45         '''Stoppt den angegeben Auftrag.
    45         '''Stoppt den angegeben Auftrag.
    46 
    46 
    47         Keywords:
    47         Keywords:
    48         apikey[string]: Der API Key
    48         apikey[string]: Der API Key