From: Joerg Jaspert Date: Wed, 29 Aug 2012 21:11:10 +0000 (+0200) Subject: Merge remote-tracking branch 'drkranz/quotes' into merge X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=fb5b24b09968fc7351f2dc307b8cdc76463bbb0a;hp=24bfb19357f3d8474525fcc99af3b00b8794f905;p=dak.git Merge remote-tracking branch 'drkranz/quotes' into merge * drkranz/quotes: IT Crowd Signed-off-by: Joerg Jaspert --- diff --git a/daklib/archive.py b/daklib/archive.py index 77f400b4..a55bfaba 100644 --- a/daklib/archive.py +++ b/daklib/archive.py @@ -361,11 +361,7 @@ class ArchiveTransaction(object): # Uploaders are the maintainer and co-maintainers from the Uploaders field db_source.uploaders.append(maintainer) if 'Uploaders' in control: - def split_uploaders(field): - import re - for u in re.sub(">[ ]*,", ">\t", field).split("\t"): - yield u.strip() - + from daklib.textutils import split_uploaders for u in split_uploaders(control['Uploaders']): db_source.uploaders.append(get_or_set_maintainer(u, session)) session.flush() @@ -1027,8 +1023,9 @@ class ArchiveUpload(object): package, version, archext = parts arch, ext = archext.split('.', 1) - rule = automatic_byhand_packages.get(package) - if rule is None: + try: + rule = automatic_byhand_packages.subtree(package) + except KeyError: remaining.append(f) continue @@ -1188,8 +1185,9 @@ class ArchiveUpload(object): source_component_name = guess break if source_component_name is None: - raise Exception('Could not guess source component.') - source_component = self.session.query(Component).filter_by(component_name=source_component_name).one() + source_component = self.session.query(Component).order_by(Component.component_id).first() + else: + source_component = self.session.query(Component).filter_by(component_name=source_component_name).one() source_component_func = lambda source: source_component db_changes = self._install_changes() diff --git a/daklib/textutils.py b/daklib/textutils.py index c9cc4ed3..b4646759 100644 --- a/daklib/textutils.py +++ b/daklib/textutils.py @@ -113,3 +113,8 @@ def fix_maintainer(maintainer): return (rfc822_maint, rfc2047_maint, name, email) ################################################################################ + +def split_uploaders(field): + import re + for u in re.sub(">[ ]*,", ">\t", field).split("\t"): + yield u.strip() diff --git a/tests/test_split_uploaders.py b/tests/test_split_uploaders.py index fe6bd91e..51812da0 100755 --- a/tests/test_split_uploaders.py +++ b/tests/test_split_uploaders.py @@ -2,7 +2,7 @@ from base_test import DakTestCase -from daklib.dbconn import split_uploaders +from daklib.textutils import split_uploaders import unittest