]> git.decadent.org.uk Git - dak.git/commitdiff
move method to evaluate component mappings to dbconn.py
authorAnsgar Burchardt <ansgar@debian.org>
Thu, 9 Aug 2012 13:24:47 +0000 (15:24 +0200)
committerAnsgar Burchardt <ansgar@debian.org>
Sat, 11 Aug 2012 11:43:05 +0000 (13:43 +0200)
daklib/archive.py
daklib/dbconn.py

index 29a5621d3a4fbf9409063fac5004f18fbab52671..463c3de246c3bd9b9df6ecbd3d67e11b24f0be61 100644 (file)
@@ -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
index d9ab4cb847b3b9ef2b58cebf8c83af98d4acb267..9d9225f034168f5267cfd2d5fb12c2cdb5ae71a9 100644 (file)
@@ -1150,6 +1150,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):
     """