iro/job.py
changeset 11 f25033cf93e0
parent 7 07dd2663ac90
child 19 fcf8489f1c2f
equal deleted inserted replaced
10:4a33882f3a49 11:f25033cf93e0
    14 
    14 
    15 class Job(object):
    15 class Job(object):
    16     '''
    16     '''
    17     Basic class for all jobs
    17     Basic class for all jobs
    18     '''   
    18     '''   
    19     def __init__(self,provider,name):
    19     def __init__(self,providerlist,provider, name):
       
    20         self.providerlist=providerlist
    20         self.provider=provider
    21         self.provider=provider
    21         self.name=name
    22         self.name=name
    22         self.status = "init"
    23         self.status = "init"
    23         self.dStatus={"good":[], "failed":[]}
    24         self.dStatus={"good":[], "failed":[]}
    24 
    25 
    35     
    36     
    36     def getName(self):
    37     def getName(self):
    37         return self.name
    38         return self.name
    38         
    39         
    39     def getProvider(self):
    40     def getProvider(self):
    40         return self.provider
    41         return None
    41         
    42         
    42     def addGood(self, good):
    43     def addGood(self, good):
    43         if type(good) == list:
    44         if type(good) == list:
    44             self.dStatus['good']=self.dStatus['good']+good
    45             self.dStatus['good']=self.dStatus['good']+good
    45         else:
    46         else:
    53 
    54 
    54 class MessageJob(Job):
    55 class MessageJob(Job):
    55     '''
    56     '''
    56     A specialized class for smsjobs
    57     A specialized class for smsjobs
    57     '''
    58     '''
    58     def __init__(self,provider,name, message,recipients):
    59     def __init__(self,providerlist,provider, name, message,recipients):
    59         self.message=message
    60         self.message=message
    60         self.recipients=recipients
    61         self.recipients=recipients
    61         Job.__init__(self,provider, name)
    62         Job.__init__(self,providerlist,provider,  name)
    62         
    63         
    63     def stop(self):
    64     def stop(self):
    64         pass
    65         pass
    65         
    66     
       
    67 
       
    68     
    66     def start(self):
    69     def start(self):
    67         Job.start(self)
    70         Job.start(self)
    68         self.provider.setJob(self)
    71         self.getProvider().setJob(self)
    69         self.message.sendto(self.provider, self.recipients)
    72         self.message.sendto(self.getProvider(), self.recipients)
    70         self.status="sended"
    73         self.status="sended"
    71 
    74 
    72     def getMessage(self):
    75     def getMessage(self):
    73         return self.message
    76         return self.message
    74         
    77         
    75     def getRecipients(self):
    78     def getRecipients(self):
    76         return self.recipients
    79         return self.recipients
    77 
    80 
    78 
    81 
       
    82 class SMSJob(MessageJob):
       
    83     def __init__(self,providerlist,provider, name, message,recipients):
       
    84         MessageJob.__init__(self,providerlist,provider, name, message,recipients)
       
    85         
       
    86     def getProvider(self):
       
    87         return self.providerlist.getProvider("sms", self.provider)
       
    88         
       
    89     def start(self):
       
    90         MessageJob.start(self)
    79 
    91 
       
    92 class FAXJob(MessageJob):
       
    93     def __init__(self,providerlist,provider, name, message,recipients):
       
    94         MessageJob.__init__(self,providerlist,provider, name, message,recipients)
       
    95         
       
    96     def getProvider(self):
       
    97         return self.providerlist.getProvider("fax", self.provider)
       
    98 
       
    99 class MailJob(MessageJob):
       
   100     def __init__(self,providerlist,provider, name, message,recipients):
       
   101         MessageJob.__init__(self,providerlist,provider, name, message,recipients)
       
   102         
       
   103     def getProvider(self):
       
   104         return self.providerlist.getProvider("mail", self.provider)
       
   105 
       
   106