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

[dak/master] move method to evaluate component mappings to dbconn.py



---
 daklib/archive.py |   25 +------------------------
 daklib/dbconn.py  |   28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 24 deletions(-)

diff --git a/daklib/archive.py b/daklib/archive.py
index 29a5621..463c3de 100644
--- a/daklib/archive.py
+++ b/daklib/archive.py
@@ -701,29 +701,6 @@ class ArchiveUpload(object):
         suites = session.query(Suite).filter(Suite.suite_name.in_(suite_names))
         return suites
 
-    def _mapped_component(self, component_name):
-        """get component after mappings
-
-        Evaluate component mappings from ComponentMappings in dak.conf for the
-        given component name.
-
-        @todo: ansgar wants to get rid of this. It's currently only used for
-               the security archive
-
-        @type  component_name: str
-        @param component_name: component name
-
-        @rtype:  L{daklib.dbconn.Component}
-        @return: component after applying maps
-        """
-        cnf = Config()
-        for m in cnf.value_list("ComponentMappings"):
-            (src, dst) = m.split()
-            if component_name == src:
-                component_name = dst
-        component = self.session.query(Component).filter_by(component_name=component_name).one()
-        return component
-
     def _check_new(self, suite):
         """Check if upload is NEW
 
@@ -846,7 +823,7 @@ class ArchiveUpload(object):
             return override.component
         if only_overrides:
             return None
-        return self._mapped_component(binary.component)
+        return get_mapped_component(binary.component, self.session)
 
     def check(self, force=False):
         """run checks against the upload
diff --git a/daklib/dbconn.py b/daklib/dbconn.py
index d9ab4cb..9d9225f 100644
--- a/daklib/dbconn.py
+++ b/daklib/dbconn.py
@@ -1151,6 +1151,34 @@ def get_component(component, session=None):
 __all__.append('get_component')
 
 @session_wrapper
+def get_mapped_component(component_name, session=None):
+    """get component after mappings
+
+    Evaluate component mappings from ComponentMappings in dak.conf for the
+    given component name.
+
+    @todo: ansgar wants to get rid of this. It's currently only used for
+           the security archive
+
+    @type  component_name: str
+    @param component_name: component name
+
+    @param session: database session
+
+    @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 = session.query(Component).filter_by(component_name=component_name).first()
+    return component
+
+__all__.append('get_mapped_component')
+
+@session_wrapper
 def get_component_names(session=None):
     """
     Returns list of strings of component names.
-- 
1.7.2.5



Reply to: