[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: