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 |