iro/offer/smstrade.py
branchdevel
changeset 183 07ee5543751b
parent 180 55ab949cf0f8
child 186 b381eaa774ab
equal deleted inserted replaced
182:e6af45edff5a 183:07ee5543751b
    14 
    14 
    15 import urllib
    15 import urllib
    16 import copy
    16 import copy
    17 from functools import partial
    17 from functools import partial
    18 
    18 
    19 from ..error import UnknownOption, NeededOption
    19 from ..config import Option
    20 from ..model.status import Status
    20 from ..model.status import Status
    21 from .provider import Provider, providers
    21 from .provider import Provider, providers
    22 
    22 
    23 import logging
    23 import logging
    24 logger=logging.getLogger("smstrade")
    24 logger=logging.getLogger("smstrade")
    80             "cost":('boolean',False),
    80             "cost":('boolean',False),
    81            }
    81            }
    82     def __init__(self, name, config):       
    82     def __init__(self, name, config):       
    83         self.url = "https://gateway.smstrade.de"
    83         self.url = "https://gateway.smstrade.de"
    84         Provider.__init__(self,name,config,{"sms":["basic","economy","gold","direct"]})
    84         Provider.__init__(self,name,config,{"sms":["basic","economy","gold","direct"]})
    85 
    85         self.options.update({
    86     def loadConfig(self):
    86             "key":Option(lambda x,y:x,long="smstrade Gateway Key https://login.smstrade.de/index.php?gateway", must=True)
    87         """Read options from config"""
    87             })
    88         needed=["key"]
    88         self.loadConfig()
    89 
       
    90         for n in needed:
       
    91             setattr(self,n,None)
       
    92 
       
    93         for (n, v) in self.config:
       
    94             if n in needed:
       
    95                 setattr(self,n,v)
       
    96             else:
       
    97                 raise UnknownOption(self.name, n)
       
    98 
       
    99         for n in needed:
       
   100            if getattr(self,n) is None:
       
   101                raise NeededOption(self.name, n) 
       
   102 
       
   103 
       
   104 
    89 
   105     def send(self, route, sms, recipient):
    90     def send(self, route, sms, recipient):
   106         """send SMS with $sms to $recipients"""
    91         """send SMS with $sms to $recipients"""
   107         logger.debug('smstrade.sendSMS(%s,%s)'%(sms,  recipient))
    92         logger.debug('smstrade.sendSMS(%s,%s)'%(sms,  recipient))
   108         route = unicode(route)
    93         route = unicode(route)