# HG changeset patch # User Sandro Knauß # Date 1329670140 -3600 # Node ID 71f1108758ef89e44b32daa57f95bf0de899c3e6 # Parent c29acd5fb8410ee2ee79cef5d51398ffca77ee78 more logic to schema. get function to Offer and Job. diff -r c29acd5fb841 -r 71f1108758ef iro/model/offer.py --- 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 diff -r c29acd5fb841 -r 71f1108758ef iro/model/schema.py --- 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 isBilled=0.""" @@ -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. ng_kunde ist der verknüpfte netzguerilla.net Benutzer, der die Rechnung zahlt.""" __tablename__ = "apiuser"