iro/offer/provider.py
author Sandro Knauß <knauss@netzguerilla.net>
Sat, 18 Feb 2012 19:48:54 +0100
branchdevel
changeset 171 5619596a0053
parent 169 aabc04843d25
child 180 55ab949cf0f8
permissions -rw-r--r--
getSendFunc logic from smtp to Provider(offer.provider)

from functools import partial

from iro.error import NoRoute, NoTyp
class Provider():
    def __init__(self, name, config, typs={}):
        self.name = name
        self.config = config
        self.typs=typs
        self.testmode = False
        
        self.loadConfig()

    def loadConfig(self):
        for (n, v) in self.config:
            if n == "typ":
                self.typ = v

    def send(self, typ, route, recipient, message):
        pass

    def getSendFunc(self, typ, route):
        try:
            if route not in self.typs[typ]:
                raise NoRoute(route)
        except KeyError:
            raise NoTyp(route)
        return partial(self.send, typ, route)