iro/model/offer.py
branchdevel
changeset 157 0192f9107870
parent 152 14c99c89edf4
child 158 e045e628a519
--- 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={}