| author | Sandro Knauß <knauss@netzguerilla.net> |
| Tue, 24 Nov 2009 02:02:41 +0100 | |
| changeset 20 | 0d7ffb9b2c7f |
| parent 19 | fcf8489f1c2f |
| child 23 | 0180b538ed74 |
| 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 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
15 |
class Job(object): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
16 |
''' |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
17 |
Basic class for all jobs |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
18 |
''' |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
19 |
def __init__(self,providerlist,provider, name): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
20 |
self.providerlist=providerlist |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
21 |
self.provider=provider |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
22 |
self.name=name |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
23 |
self.status = "init" |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
24 |
self.dStatus={"good":[], "failed":[]} |
| 20 | 25 |
self.id=None |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
26 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
27 |
def start(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
28 |
self.status = "started" |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
29 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
30 |
def stop(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
31 |
self.status = "stopped" |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
32 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
33 |
def getStatus(self,detailed): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
34 |
if detailed and self.status == "started" or self.status == "sended": |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
35 |
return self.status, self.dStatus |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
36 |
return self.status, {} |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
37 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
38 |
def getName(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
39 |
return self.name |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
40 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
41 |
def getProvider(self): |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
42 |
return None |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
43 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
44 |
def addGood(self, good): |
| 20 | 45 |
import logging |
46 |
logging.debug('Job(%d)-send to %s'%(self.id, str(good))) |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
47 |
if type(good) == list: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
48 |
self.dStatus['good']=self.dStatus['good']+good |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
49 |
else: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
50 |
self.dStatus['good'].append(good) |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
51 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
52 |
def addFailed(self, failed): |
| 20 | 53 |
import logging |
54 |
logging.debug('Job(%d)-faild to send to %s'%(self.id, str(failed))) |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
55 |
if type(failed) == list: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
56 |
self.dStatus['failed']=self.dStatus['failed']+failed |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
57 |
else: |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
58 |
self.dStatus['failed'].append(failed) |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
59 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
60 |
class MessageJob(Job): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
61 |
''' |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
62 |
A specialized class for smsjobs |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
63 |
''' |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
64 |
def __init__(self,providerlist,provider, name, message,recipients): |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
65 |
self.message=message |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
66 |
self.recipients=recipients |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
67 |
Job.__init__(self,providerlist,provider, name) |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
68 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
69 |
def stop(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
70 |
pass |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
71 |
|
| 20 | 72 |
def start(self, id=None): |
73 |
self.id=id |
|
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
74 |
Job.start(self) |
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
75 |
self.getProvider().setJob(self) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
76 |
self.message.sendto(self.getProvider(), self.recipients) |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
77 |
self.status="sended" |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
78 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
79 |
def getMessage(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
80 |
return self.message |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
81 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
82 |
def getRecipients(self): |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
83 |
return self.recipients |
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
84 |
|
|
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
85 |
|
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
86 |
class SMSJob(MessageJob): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
87 |
def __init__(self,providerlist,provider, name, message,recipients): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
88 |
MessageJob.__init__(self,providerlist,provider, name, message,recipients) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
89 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
90 |
def getProvider(self): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
91 |
return self.providerlist.getProvider("sms", self.provider) |
|
7
07dd2663ac90
provider auswahl hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff
changeset
|
92 |
|
|
11
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
93 |
class FAXJob(MessageJob): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
94 |
def __init__(self,providerlist,provider, name, message,recipients): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
95 |
MessageJob.__init__(self,providerlist,provider, name, message,recipients) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
96 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
97 |
def getProvider(self): |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
98 |
return self.providerlist.getProvider("fax", self.provider) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
99 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
100 |
class MailJob(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("mail", self.provider) |
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
106 |
|
|
f25033cf93e0
Backend auswahl nun möglich
Sandro Knauß <knauss@netzguerilla.net>
parents:
7
diff
changeset
|
107 |