X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=08765171442890abb1cdaf415e5ee50fc3a250da;hb=f53c55d0e9b2a5c1dc003a86c7cbe06f148a48b3;hp=5217462af4688754d960126e887b4203084e2766;hpb=dbd3ceac44904f678181a189f34dc75c56178953;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 5217462a..08765171 100644 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -1474,7 +1474,7 @@ class NewComment(object): __all__.append('NewComment') @session_wrapper -def has_new_comment(package, version, session=None): +def has_new_comment(policy_queue, package, version, session=None): """ Returns true if the given combination of C{package}, C{version} has a comment. @@ -1492,7 +1492,7 @@ def has_new_comment(package, version, session=None): @return: true/false """ - q = session.query(NewComment) + q = session.query(NewComment).filter_by(policy_queue=policy_queue) q = q.filter_by(package=package) q = q.filter_by(version=version) @@ -1501,7 +1501,7 @@ def has_new_comment(package, version, session=None): __all__.append('has_new_comment') @session_wrapper -def get_new_comments(package=None, version=None, comment_id=None, session=None): +def get_new_comments(policy_queue, package=None, version=None, comment_id=None, session=None): """ Returns (possibly empty) list of NewComment objects for the given parameters @@ -1523,7 +1523,7 @@ def get_new_comments(package=None, version=None, comment_id=None, session=None): @return: A (possibly empty) list of NewComment objects will be returned """ - q = session.query(NewComment) + q = session.query(NewComment).filter_by(policy_queue=policy_queue) if package is not None: q = q.filter_by(package=package) if version is not None: q = q.filter_by(version=version) if comment_id is not None: q = q.filter_by(comment_id=comment_id) @@ -2630,7 +2630,8 @@ class DBConn(object): mapper(ACLPerSource, self.tbl_acl_per_source, properties = dict( acl = relation(ACL), - fingerprint = relation(Fingerprint), + fingerprint = relation(Fingerprint, primaryjoin=(self.tbl_acl_per_source.c.fingerprint_id == self.tbl_fingerprint.c.id)), + created_by = relation(Fingerprint, primaryjoin=(self.tbl_acl_per_source.c.created_by_id == self.tbl_fingerprint.c.id)), )) mapper(Archive, self.tbl_archive, @@ -2733,7 +2734,8 @@ class DBConn(object): extension = validator) mapper(NewComment, self.tbl_new_comments, - properties = dict(comment_id = self.tbl_new_comments.c.id)) + properties = dict(comment_id = self.tbl_new_comments.c.id, + policy_queue = relation(PolicyQueue))) mapper(Override, self.tbl_override, properties = dict(suite_id = self.tbl_override.c.suite,