diff -r 6efcdf7e2d62 -r 19b3f383c9ce iro/model/schema.py --- a/iro/model/schema.py Mon Jan 30 06:44:39 2012 +0100 +++ b/iro/model/schema.py Mon Jan 30 06:51:28 2012 +0100 @@ -9,6 +9,8 @@ from sqlalchemy import and_ +from ..error import JobNotFound + Base = declarative_base() __tables__=["User", "Job", "Message", "Offer", "Userright"] @@ -78,3 +80,9 @@ if isDefault is not None: filters.append(Userright.isDefault==isDefault) return object_session(self).query(Userright.offer_name).join(Offer,User).filter(and_(*filters)) + + def job(self, id): + job = object_session(self).query(Job).join(User).filter(and_(User.name == self.name, Job.hash==id)).first() + if job is None: + raise JobNotFound() + return job