Record imported modules
This commit is contained in:
parent
1095257161
commit
3c1ec1959f
|
@ -270,7 +270,7 @@ else:
|
||||||
raise exception
|
raise exception
|
||||||
|
|
||||||
|
|
||||||
def gen_module_attr_getter(pl, import_paths):
|
def gen_module_attr_getter(pl, import_paths, imported_modules):
|
||||||
def get_module_attr(module, attr, prefix='powerline'):
|
def get_module_attr(module, attr, prefix='powerline'):
|
||||||
'''Import module and get its attribute.
|
'''Import module and get its attribute.
|
||||||
|
|
||||||
|
@ -292,6 +292,7 @@ def gen_module_attr_getter(pl, import_paths):
|
||||||
module = str(module)
|
module = str(module)
|
||||||
attr = str(attr)
|
attr = str(attr)
|
||||||
try:
|
try:
|
||||||
|
imported_modules.add(module)
|
||||||
return getattr(__import__(module, fromlist=(attr,)), attr)
|
return getattr(__import__(module, fromlist=(attr,)), attr)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pl.exception('Failed to import attr {0} from module {1}: {2}', attr, module, str(e), prefix=prefix)
|
pl.exception('Failed to import attr {0} from module {1}: {2}', attr, module, str(e), prefix=prefix)
|
||||||
|
@ -381,6 +382,7 @@ class Powerline(object):
|
||||||
self.prev_common_config = None
|
self.prev_common_config = None
|
||||||
self.prev_ext_config = None
|
self.prev_ext_config = None
|
||||||
self.pl = None
|
self.pl = None
|
||||||
|
self.imported_modules = set()
|
||||||
|
|
||||||
def create_renderer(self, load_main=False, load_colors=False, load_colorscheme=False, load_theme=False):
|
def create_renderer(self, load_main=False, load_colors=False, load_colorscheme=False, load_theme=False):
|
||||||
'''(Re)create renderer object. Can be used after Powerline object was
|
'''(Re)create renderer object. Can be used after Powerline object was
|
||||||
|
@ -428,7 +430,7 @@ class Powerline(object):
|
||||||
if not self.run_once:
|
if not self.run_once:
|
||||||
self.config_loader.set_watcher(self.common_config['watcher'])
|
self.config_loader.set_watcher(self.common_config['watcher'])
|
||||||
|
|
||||||
self.get_module_attr = gen_module_attr_getter(self.pl, self.import_paths)
|
self.get_module_attr = gen_module_attr_getter(self.pl, self.import_paths, self.imported_modules)
|
||||||
|
|
||||||
self.renderer_options.update(
|
self.renderer_options.update(
|
||||||
pl=self.pl,
|
pl=self.pl,
|
||||||
|
|
Loading…
Reference in New Issue