--- a/iro/model/offer.py Mon Feb 13 22:18:06 2012 +0100
+++ b/iro/model/offer.py Mon Feb 13 22:19:31 2012 +0100
@@ -1,6 +1,9 @@
from .dbdefer import dbdefer
+from sqlalchemy import and_
+
import schema
from ..config import config
+from ..offer import getProvider, Offer
@dbdefer
def extendProvider(session, user, typ, providers):
@@ -16,8 +19,17 @@
ret.append(n)
return ret
-def loadOffers():
- pass
+@dbdefer
+def loadOffers(session):
+ offers.clear()
+ providers.clear()
+ for provider in ( s for s in config.sections() if not s in ["main",]):
+ p=getProvider(provider,config.get(provider,"typ"),config.items(provider))
+ for r in p.routes:
+ for o in session.query(schema.Offer.name, schema.Offer.route).filter(and_(schema.Offer.provider==provider,
+ schema.Offer.route==r)):
+ offers[o[0]]=Offer(provider=p,route=r,typ=o[1],name=o[0])
+ providers[provider]=p
offers={}
providers={}