diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-10-07 11:43:35 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-10-07 11:43:35 -0700 |
commit | e04db4cc77ca0596501193120cb6ecb85aa1f639 (patch) | |
tree | ed2f8e3567d7b95ef00faf42238dfd271ce9ad08 | |
parent | f3c54a516daac603fdf9e97f99c58227cde85afb (diff) | |
download | portage-e04db4cc77ca0596501193120cb6ecb85aa1f639.tar.gz portage-e04db4cc77ca0596501193120cb6ecb85aa1f639.tar.bz2 portage-e04db4cc77ca0596501193120cb6ecb85aa1f639.zip |
Add a _preload_elog_modules() function.
-rw-r--r-- | pym/portage/dbapi/vartree.py | 4 | ||||
-rw-r--r-- | 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) |