# HG changeset patch # User Sandro Knauß # Date 1329590934 -3600 # Node ID 5619596a00531407d2597aa4f466474c31ffb433 # Parent 2a16943f1d05df0335dc8cc64bb4529f7a38c494 getSendFunc logic from smtp to Provider(offer.provider) diff -r 2a16943f1d05 -r 5619596a0053 iro/offer/provider.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) diff -r 2a16943f1d05 -r 5619596a0053 iro/offer/smtp.py --- 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