From e04db4cc77ca0596501193120cb6ecb85aa1f639 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 7 Oct 2010 11:43:35 -0700 Subject: [PATCH] Add a _preload_elog_modules() function. --- pym/portage/dbapi/vartree.py | 4 ++-- pym/portage/elog/__init__.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index c6d37d0fe..916e79290 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -12,7 +12,7 @@ portage.proxy.lazyimport.lazyimport(globals(), 'portage.dbapi.dep_expand:dep_expand', 'portage.dep:dep_getkey,isjustname,match_from_list,' + \ 'use_reduce,_slot_re', - 'portage.elog:elog_process', + 'portage.elog:elog_process,_preload_elog_modules', 'portage.locks:lockdir,unlockdir', 'portage.output:bold,colorize', 'portage.package.ebuild.doebuild:doebuild_environment,' + \ @@ -3826,7 +3826,7 @@ class dblink(object): os.chmod(var_new, dir_perms) os.chmod(base_path_tmp, dir_perms) # This serves so pre-load the modules. - elog_process(self.mycpv, self.settings) + _preload_elog_modules() return self._merge(mergeroot, inforoot, myebuild=myebuild, cleanup=cleanup, diff --git a/pym/portage/elog/__init__.py b/pym/portage/elog/__init__.py index 78b6d8398..6bb52d065 100644 --- a/pym/portage/elog/__init__.py +++ b/pym/portage/elog/__init__.py @@ -15,6 +15,20 @@ from portage.elog.filtering import filter_loglevels from portage.localization import _ from portage import os +def _preload_elog_modules(settings): + logsystems = settings.get("PORTAGE_ELOG_SYSTEM", "").split() + for s in logsystems: + # allow per module overrides of PORTAGE_ELOG_CLASSES + if ":" in s: + s, levels = s.split(":", 1) + levels = levels.split(",") + # - is nicer than _ for module names, so allow people to use it. + s = s.replace("-", "_") + try: + _load_mod("portage.elog.mod_" + s) + except ImportError: + pass + def _merge_logentries(a, b): rValue = {} phases = set(a) -- 2.26.2