X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=3b60ae65808d9aba8587647d0d85b32702ce2576;hb=51e6f50e4b491f851f19a67038eee7afa344c4d9;hp=1ac0c4b5de02992a83819ef8e02999369582d701;hpb=227db2f1b21c06ec076c88f79850daf0f154b900;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 1ac0c4b5..3b60ae65 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -1814,12 +1814,22 @@ __all__.append('get_new_comments') ################################################################################ -class Override(object): - def __init__(self, *args, **kwargs): - pass +class Override(ORMObject): + def __init__(self, package = None, suite = None, component = None, overridetype = None, \ + section = None, priority = None): + self.package = package + self.suite = suite + self.component = component + self.overridetype = overridetype + self.section = section + self.priority = priority - def __repr__(self): - return '' % (self.package, self.suite_id) + def properties(self): + return ['package', 'suite', 'component', 'overridetype', 'section', \ + 'priority'] + + def not_null_constraints(self): + return ['package', 'suite', 'component', 'overridetype', 'section'] __all__.append('Override') @@ -2291,9 +2301,9 @@ def source_exists(source, source_version, suites = ["any"], session=None): maps = [ (x[1], x[2]) for x in maps if x[0] == "map" or x[0] == "silent-map" ] s = [suite] - for x in maps: - if x[1] in s and x[0] not in s: - s.append(x[0]) + for (from_, to) in maps: + if from_ in s and to not in s: + s.append(to) q = q.filter(DBSource.suites.any(Suite.suite_name.in_(s))) @@ -2616,7 +2626,8 @@ class Suite(ORMObject): self.version = version def properties(self): - return ['suite_name', 'version', 'sources_count', 'binaries_count'] + return ['suite_name', 'version', 'sources_count', 'binaries_count', \ + 'overrides_count'] def not_null_constraints(self): return ['suite_name', 'version'] @@ -2922,6 +2933,7 @@ class DBConn(object): 'changes_pending_source_files', 'changes_pool_files', 'deb_contents', + # TODO: the maintainer column in table override should be removed. 'override', 'suite_architectures', 'suite_src_formats', @@ -3165,7 +3177,8 @@ class DBConn(object): mapper(Override, self.tbl_override, properties = dict(suite_id = self.tbl_override.c.suite, - suite = relation(Suite), + suite = relation(Suite, \ + backref=backref('overrides', lazy='dynamic')), package = self.tbl_override.c.package, component_id = self.tbl_override.c.component, component = relation(Component, \