Expose data and config dir as pathlib.Path
This commit is contained in:
parent
4ad5790311
commit
8806c0925e
@ -24,6 +24,7 @@ import pkgutil
|
||||
import types
|
||||
import typing
|
||||
import sys
|
||||
import pathlib
|
||||
|
||||
import attr
|
||||
|
||||
@ -36,7 +37,8 @@ class InitContext:
|
||||
|
||||
"""Context an extension gets in its init hook."""
|
||||
|
||||
data_dir = attr.ib() # type: str
|
||||
data_dir = attr.ib() # type: pathlib.Path
|
||||
config_dir = attr.ib() # type: pathlib.Path
|
||||
|
||||
|
||||
@attr.s
|
||||
@ -114,6 +116,12 @@ def _walk_pyinstaller() -> typing.Iterator[ExtensionInfo]:
|
||||
yield ExtensionInfo(name=name)
|
||||
|
||||
|
||||
def _get_init_context() -> InitContext:
|
||||
"""Get an InitContext object."""
|
||||
return InitContext(data_dir=pathlib.Path(standarddir.data()),
|
||||
config_dir=pathlib.Path(standarddir.config()))
|
||||
|
||||
|
||||
def _load_component(info: ExtensionInfo) -> types.ModuleType:
|
||||
"""Load the given extension and run its init hook (if any)."""
|
||||
log.extensions.debug("Importing {}".format(info.name))
|
||||
@ -123,7 +131,6 @@ def _load_component(info: ExtensionInfo) -> types.ModuleType:
|
||||
if mod_info.init_hook is not None:
|
||||
log.extensions.debug("Running init hook {!r}"
|
||||
.format(mod_info.init_hook.__name__))
|
||||
context = InitContext(data_dir=standarddir.data())
|
||||
mod_info.init_hook(context)
|
||||
mod_info.init_hook(_get_init_context())
|
||||
|
||||
return mod
|
||||
|
Loading…
Reference in New Issue
Block a user