more logic to schema.
get function to Offer and Job.
--- a/iro/model/offer.py Sun Feb 19 17:47:39 2012 +0100
+++ b/iro/model/offer.py Sun Feb 19 17:49:00 2012 +0100
@@ -1,5 +1,4 @@
from .dbdefer import dbdefer
-from sqlalchemy import and_
import schema
from ..config import config
@@ -27,7 +26,7 @@
p=getProvider(provider,config.get(provider,"typ"),config.items(provider))
for t in p.typs:
for r in p.typs[t]:
- n = session.query(schema.Offer.name).filter(and_(schema.Offer.provider==provider, schema.Offer.route==r, schema.Offer.typ==t)).scalar()
+ n = schema.Offer.get(session, provider, r, t).name
offers[n]=Offer(provider=p,route=r,typ=t,name=n)
providers[provider]=p
--- a/iro/model/schema.py Sun Feb 19 17:47:39 2012 +0100
+++ b/iro/model/schema.py Sun Feb 19 17:49:00 2012 +0100
@@ -54,6 +54,9 @@
route = Column(String(100))
typ = Column(String(100))
+ @classmethod
+ def get(cls, session, provider, route, typ):
+ return session.query(cls).filter(and_(cls.provider==provider, cls.route==route, cls.typ==typ)).first()
class Message(Base):
"""Wenn ein Vorgang von Iro Kosten erzeugt hat wird eine neue Zeile eingefügt. Solange nicht bezahlt wurde ist <em>isBilled=0</em>."""
@@ -89,6 +92,10 @@
except DetachedInstanceError:
return Base.__repr__(self)
+ @classmethod
+ def get(cls, session, id):
+ return session.query(cls).filter_by(id=id).first()
+
class User(Base):
"""Die Benutzerdatenbank von Iro. <em>ng_kunde</em> ist der verknüpfte netzguerilla.net Benutzer, der die Rechnung zahlt."""
__tablename__ = "apiuser"