| author | Sandro Knauß <knauss@netzguerilla.net> |
| Fri, 09 Dec 2011 15:39:29 +0100 | |
| changeset 75 | c6a281dafa7a |
| parent 55 | ae3669fef3b0 |
| permissions | -rw-r--r-- |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
1 |
# -*- coding: utf-8 -*- |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
2 |
#Copyright (C) 2009 Sandro Knauß <bugs@sandroknauss.de> |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
3 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
4 |
#This program is free software; you can redistribute it and/or modify it under the terms |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
5 |
#of the GNU General Public License as published by the Free Software Foundation; |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
6 |
#either version 3 of the License, or any later version. |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
7 |
#This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
8 |
#without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
9 |
#See the GNU General Public License for more details. |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
10 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
11 |
#You should have received a copy of the GNU General Public License |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
12 |
#along with this program; if not, see <http://www.gnu.org/licenses/>. |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
13 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
14 |
class Job(object): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
15 |
''' |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
16 |
Basic class for all jobs |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
17 |
''' |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
18 |
def __init__(self,providerlist,provider, name): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
19 |
self.providerlist=providerlist |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
20 |
self.provider=provider |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
21 |
self.name=name |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
22 |
self.status = "init" |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
23 |
self.dStatus={"good":[], "failed":[]} |
| 20 | 24 |
self.id=None |
| 55 | 25 |
self.acounting=None |
26 |
||
27 |
def setAcounting(self,ac): |
|
28 |
self.acounting=ac |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
29 |
|
| 55 | 30 |
def setId(self, id): |
|
48
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
46
diff
changeset
|
31 |
self.id=id |
| 55 | 32 |
if self.acounting: |
33 |
self.acounting.setId(id) |
|
34 |
||
35 |
def start(self,indifier=None): |
|
36 |
self.indifier=indifier |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
37 |
self.status = "started" |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
38 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
39 |
def stop(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
40 |
self.status = "stopped" |
| 49 | 41 |
|
42 |
def setLog(self,log): |
|
43 |
self.log=log |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
44 |
|
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
23
diff
changeset
|
45 |
def getStatus(self,detailed=False): |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
46 |
if detailed and self.status == "started" or self.status == "sended": |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
47 |
return self.status, self.dStatus |
|
46
cb5a932423cd
status doch array zurück, da php damit besser klar kommt
Sandro Knauß <knauss@netzguerilla.net>
parents:
42
diff
changeset
|
48 |
return self.status,{} |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
49 |
|
|
42
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
23
diff
changeset
|
50 |
def setStatus(self,status): |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
23
diff
changeset
|
51 |
self.status=status |
|
1a9f191389a4
test mit fehlschlagendem Job
Sandro Knauß <knauss@netzguerilla.net>
parents:
23
diff
changeset
|
52 |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
53 |
def getName(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
54 |
return self.name |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
55 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
56 |
def getProvider(self): |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
57 |
return None |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
58 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
59 |
def addGood(self, good): |
| 55 | 60 |
if self.acounting: |
61 |
self.acounting.addGood(good) |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
62 |
if type(good) == list: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
63 |
self.dStatus['good']=self.dStatus['good']+good |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
64 |
else: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
65 |
self.dStatus['good'].append(good) |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
66 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
67 |
def addFailed(self, failed): |
| 55 | 68 |
if self.acounting: |
69 |
self.acounting.addFailed(failed) |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
70 |
if type(failed) == list: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
71 |
self.dStatus['failed']=self.dStatus['failed']+failed |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
72 |
else: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
73 |
self.dStatus['failed'].append(failed) |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
74 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
75 |
class MessageJob(Job): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
76 |
''' |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
77 |
A specialized class for smsjobs |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
78 |
''' |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
79 |
def __init__(self,providerlist,provider, name, message,recipients): |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
80 |
self.message=message |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
81 |
self.recipients=recipients |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
82 |
Job.__init__(self,providerlist,provider, name) |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
83 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
84 |
def stop(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
85 |
pass |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
86 |
|
| 20 | 87 |
def start(self, id=None): |
|
48
32763e344d3b
job nun mit start(id), status() gibt list zurück, tests angepasst
Sandro Knauß <knauss@netzguerilla.net>
parents:
46
diff
changeset
|
88 |
Job.start(self,id) |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
89 |
self.getProvider().setJob(self) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
90 |
self.message.sendto(self.getProvider(), self.recipients) |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
91 |
self.status="sended" |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
92 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
93 |
def getMessage(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
94 |
return self.message |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
95 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
96 |
def getRecipients(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
97 |
return self.recipients |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
98 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
99 |
|
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
100 |
class SMSJob(MessageJob): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
101 |
def __init__(self,providerlist,provider, name, message,recipients): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
102 |
MessageJob.__init__(self,providerlist,provider, name, message,recipients) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
103 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
104 |
def getProvider(self): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
105 |
return self.providerlist.getProvider("sms", self.provider) |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
106 |
|
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
107 |
class FAXJob(MessageJob): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
108 |
def __init__(self,providerlist,provider, name, message,recipients): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
109 |
MessageJob.__init__(self,providerlist,provider, name, message,recipients) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
110 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
111 |
def getProvider(self): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
112 |
return self.providerlist.getProvider("fax", self.provider) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
113 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
114 |
class MailJob(MessageJob): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
115 |
def __init__(self,providerlist,provider, name, message,recipients): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
116 |
MessageJob.__init__(self,providerlist,provider, name, message,recipients) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
117 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
118 |
def getProvider(self): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
119 |
return self.providerlist.getProvider("mail", self.provider) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
120 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
121 |