X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=9d9225f034168f5267cfd2d5fb12c2cdb5ae71a9;hb=61ad5250da03fd971a06ffbefce6e30454cd9482;hp=d9ab4cb847b3b9ef2b58cebf8c83af98d4acb267;hpb=d48e4be67b4efe86133bdff6a310eb3e071c9f51;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index d9ab4cb8..9d9225f0 100644 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -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): """