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 types
|
||||||
import typing
|
import typing
|
||||||
import sys
|
import sys
|
||||||
|
import pathlib
|
||||||
|
|
||||||
import attr
|
import attr
|
||||||
|
|
||||||
@ -36,7 +37,8 @@ class InitContext:
|
|||||||
|
|
||||||
"""Context an extension gets in its init hook."""
|
"""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
|
@attr.s
|
||||||
@ -114,6 +116,12 @@ def _walk_pyinstaller() -> typing.Iterator[ExtensionInfo]:
|
|||||||
yield ExtensionInfo(name=name)
|
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:
|
def _load_component(info: ExtensionInfo) -> types.ModuleType:
|
||||||
"""Load the given extension and run its init hook (if any)."""
|
"""Load the given extension and run its init hook (if any)."""
|
||||||
log.extensions.debug("Importing {}".format(info.name))
|
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:
|
if mod_info.init_hook is not None:
|
||||||
log.extensions.debug("Running init hook {!r}"
|
log.extensions.debug("Running init hook {!r}"
|
||||||
.format(mod_info.init_hook.__name__))
|
.format(mod_info.init_hook.__name__))
|
||||||
context = InitContext(data_dir=standarddir.data())
|
mod_info.init_hook(_get_init_context())
|
||||||
mod_info.init_hook(context)
|
|
||||||
|
|
||||||
return mod
|
return mod
|
||||||
|
Loading…
Reference in New Issue
Block a user