iro/job.py
changeset 11 f25033cf93e0
parent 7 07dd2663ac90
child 19 fcf8489f1c2f
--- a/iro/job.py	Wed Oct 28 03:36:27 2009 +0100
+++ b/iro/job.py	Sat Oct 31 03:20:59 2009 +0100
@@ -16,7 +16,8 @@
     '''
     Basic class for all jobs
     '''   
-    def __init__(self,provider,name):
+    def __init__(self,providerlist,provider, name):
+        self.providerlist=providerlist
         self.provider=provider
         self.name=name
         self.status = "init"
@@ -37,7 +38,7 @@
         return self.name
         
     def getProvider(self):
-        return self.provider
+        return None
         
     def addGood(self, good):
         if type(good) == list:
@@ -55,18 +56,20 @@
     '''
     A specialized class for smsjobs
     '''
-    def __init__(self,provider,name, message,recipients):
+    def __init__(self,providerlist,provider, name, message,recipients):
         self.message=message
         self.recipients=recipients
-        Job.__init__(self,provider, name)
+        Job.__init__(self,providerlist,provider,  name)
         
     def stop(self):
         pass
-        
+    
+
+    
     def start(self):
         Job.start(self)
-        self.provider.setJob(self)
-        self.message.sendto(self.provider, self.recipients)
+        self.getProvider().setJob(self)
+        self.message.sendto(self.getProvider(), self.recipients)
         self.status="sended"
 
     def getMessage(self):
@@ -76,4 +79,28 @@
         return self.recipients
 
 
+class SMSJob(MessageJob):
+    def __init__(self,providerlist,provider, name, message,recipients):
+        MessageJob.__init__(self,providerlist,provider, name, message,recipients)
+        
+    def getProvider(self):
+        return self.providerlist.getProvider("sms", self.provider)
+        
+    def start(self):
+        MessageJob.start(self)
 
+class FAXJob(MessageJob):
+    def __init__(self,providerlist,provider, name, message,recipients):
+        MessageJob.__init__(self,providerlist,provider, name, message,recipients)
+        
+    def getProvider(self):
+        return self.providerlist.getProvider("fax", self.provider)
+
+class MailJob(MessageJob):
+    def __init__(self,providerlist,provider, name, message,recipients):
+        MessageJob.__init__(self,providerlist,provider, name, message,recipients)
+        
+    def getProvider(self):
+        return self.providerlist.getProvider("mail", self.provider)
+
+