[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Fix handling of mapped components in process-new



I really would like to get rid of mapped components on security-master...
---
 daklib/dbconn.py | 16 +++++++++++-----
 daklib/policy.py |  5 +++--
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/daklib/dbconn.py b/daklib/dbconn.py
index a599e5c..973fa79 100644
--- a/daklib/dbconn.py
+++ b/daklib/dbconn.py
@@ -691,6 +691,16 @@ def get_component(component, session=None):
 
 __all__.append('get_component')
 
+def get_mapped_component_name(component_name):
+    cnf = Config()
+    for m in cnf.value_list("ComponentMappings"):
+        (src, dst) = m.split()
+        if component_name == src:
+            component_name = dst
+    return component_name
+
+__all__.append('get_mapped_component_name')
+
 @session_wrapper
 def get_mapped_component(component_name, session=None):
     """get component after mappings
@@ -709,11 +719,7 @@ def get_mapped_component(component_name, session=None):
     @rtype:  L{daklib.dbconn.Component} or C{None}
     @return: component after applying maps or C{None}
     """
-    cnf = Config()
-    for m in cnf.value_list("ComponentMappings"):
-        (src, dst) = m.split()
-        if component_name == src:
-            component_name = dst
+    component_name = get_mapped_component_name(component_name)
     component = session.query(Component).filter_by(component_name=component_name).first()
     return component
 
diff --git a/daklib/policy.py b/daklib/policy.py
index dad9e9d..3c986c8 100644
--- a/daklib/policy.py
+++ b/daklib/policy.py
@@ -17,7 +17,7 @@
 """module to process policy queue uploads"""
 
 from .config import Config
-from .dbconn import BinaryMetadata, Component, MetadataKey, Override, OverrideType, Suite, get_mapped_component
+from .dbconn import BinaryMetadata, Component, MetadataKey, Override, OverrideType, Suite, get_mapped_component, get_mapped_component_name
 from .fstransactions import FilesystemTransaction
 from .regexes import re_file_changes, re_file_safe
 from .packagelist import PackageList
@@ -287,8 +287,9 @@ class PolicyQueueUploadHandler(object):
             # see daklib.archive.source_component_from_package_list
             # which we cannot use here as we might not have a Package-List
             # field for old packages
+            mapped_components = [ get_mapped_component_name(c) for c in components ]
             query = self.session.query(Component).order_by(Component.ordering) \
-                    .filter(Component.component_name.in_(components))
+                    .filter(Component.component_name.in_(mapped_components))
             source_component = query.first().component_name
 
             override = self._source_override(source_component)
-- 
2.1.4



Reply to: