getSendFunc logic from smtp to Provider(offer.provider) devel
authorSandro Knauß <knauss@netzguerilla.net>
Sat, 18 Feb 2012 19:48:54 +0100
branchdevel
changeset 171 5619596a0053
parent 170 2a16943f1d05
child 172 adfe245c377d
getSendFunc logic from smtp to Provider(offer.provider)
iro/offer/provider.py
iro/offer/smtp.py
--- a/iro/offer/provider.py	Sat Feb 18 19:47:08 2012 +0100
+++ b/iro/offer/provider.py	Sat Feb 18 19:48:54 2012 +0100
@@ -1,5 +1,6 @@
 from functools import partial
 
+from iro.error import NoRoute, NoTyp
 class Provider():
     def __init__(self, name, config, typs={}):
         self.name = name
@@ -18,5 +19,10 @@
         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)
 
--- a/iro/offer/smtp.py	Sat Feb 18 19:47:08 2012 +0100
+++ b/iro/offer/smtp.py	Sat Feb 18 19:48:54 2012 +0100
@@ -15,7 +15,7 @@
 import copy
 
 from ..model.status import Status
-from ..error import UnknownOption, NeededOption, NoRoute, NoTyp
+from ..error import UnknownOption, NeededOption
 from ..offer import providers
 from .provider import Provider
 
@@ -72,17 +72,12 @@
             tmpmail.content['To']=recipient
             if not self.testmode:
                 smtp.sendmail(frm,  recipient, tmpmail.as_string())
-            return Status(self, "std")
+            return Status(self, None)
         finally:
             smtp.quit()
 
     def getSendFunc(self, typ, route):
-        try:
-            if route not in self.typs[typ]:
-                raise NoRoute(route)
-        except KeyError:
-            raise NoTyp(route)
-        
+        Provider.getSendFunc(self, typ, route)
         return self.send
 
 providers["smtp"]=SMTP