Refactor load-path building to parent class

This commit is contained in:
Matthias
2019-10-15 12:11:14 +02:00
parent 1a765f1a17
commit fda71085e0
4 changed files with 23 additions and 29 deletions

View File

@@ -7,7 +7,7 @@ import importlib.util
import inspect
import logging
from pathlib import Path
from typing import Any, List, Optional, Tuple, Type, Union, Generator
from typing import Any, List, Optional, Tuple, Union, Generator
logger = logging.getLogger(__name__)
@@ -17,6 +17,20 @@ class IResolver:
This class contains all the logic to load custom classes
"""
def build_search_paths(self, config, current_path: Path, user_subdir: str,
extra_dir: Optional[str] = None) -> List[Path]:
abs_paths = [
config['user_data_dir'].joinpath(user_subdir),
current_path,
]
if extra_dir:
# Add extra directory to the top of the search paths
abs_paths.insert(0, Path(extra_dir).resolve())
return abs_paths
@staticmethod
def _get_valid_object(object_type, module_path: Path,
object_name: str) -> Generator[Any, None, None]: