We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 2b3612f commit eed9b02Copy full SHA for eed9b02
python_coderunner/src/coderunner_factory/vim_coderunner_factory.py
@@ -79,19 +79,19 @@ def _create_config(self) -> TVimConfig:
79
name="g:coderunner_by_file_ext",
80
getter=TVimByFileExtConfigValueGetter(),
81
validator=TDispatchersValidator(),
82
- allowed_values_description="Dict[str, str] value",
+ allowed_values_description="dict[str, str]",
83
),
84
by_file_type_field=TConfigField(
85
name="g:coderunner_by_file_type",
86
getter=TVimByFileTypeConfigValueGetter(),
87
88
89
90
by_glob_field=TConfigField(
91
name="g:coderunner_by_glob",
92
getter=TVimByGlobConfigValueGetter(),
93
94
95
96
dispatchers_order_field=TConfigField(
97
name="g:coderunner_runners_order",
python_coderunner/src/config/__init__.py
@@ -1,5 +1,5 @@
1
from .basic import TBasicConfig
2
from .config_field import TConfigField
3
-from .exceptions import ConfigFieldNotFoundError, ConfigFieldValidationError
+from .exceptions import ConfigFieldUndefinedValueError, ConfigFieldValidationError
4
from .interface import EDispatchersTypes, IConfig
5
from .vim_config import TVimConfig
python_coderunner/src/config/basic.py
@@ -1,7 +1,7 @@
from typing import TypeVar
6
7
ValueType = TypeVar("ValueType")
@@ -41,7 +41,7 @@ def _get_field_value(self, field: TConfigField[ValueType]) -> ValueType:
41
"""
42
try:
43
return field.get()
44
- except (ConfigFieldNotFoundError, ConfigFieldValidationError) as e:
+ except (ConfigFieldUndefinedValueError, ConfigFieldValidationError) as e:
45
raise ValueError(str(e)) from e
46
47
def get_by_file_ext(self) -> dict[str, str]:
python_coderunner/src/config/config_field.py
@@ -1,6 +1,6 @@
from typing import Any, Generic, TypeVar
from .getter import IConfigValueGetter, UndefinedValueError
from .validator import IValidator, ValidationError
@@ -32,7 +32,7 @@ def get(self) -> ValueType:
32
33
raw_value: Any = self._getter()
34
except UndefinedValueError as e:
35
- raise ConfigFieldNotFoundError.from_undefined_value_error(e, self._allowed_values_description)
+ raise ConfigFieldUndefinedValueError.from_undefined_value_error(e, self._allowed_values_description)
36
37
38
return self._validator(raw_value)
python_coderunner/src/config/exceptions.py
@@ -4,7 +4,7 @@
from .validator import ValidationError
-class ConfigFieldNotFoundError(UndefinedValueError):
+class ConfigFieldUndefinedValueError(UndefinedValueError):
8
@classmethod
9
def from_undefined_value_error(cls, e: UndefinedValueError, allowed_values: str) -> Self:
10
return cls(f"{e} Allowed values: {allowed_values}.")
python_coderunner/src/project_info_extractor/base.py
@@ -0,0 +1,27 @@
+import os
+from abc import abstractmethod
+from typing import Iterable
+
+from ..file_info_extractor import IFileInfoExtractor
+from .interface import IProjectInfoExtractor
+class TBaseProjectInfoExtractor(IProjectInfoExtractor):
+ def __init__(self, file_info_extractor: IFileInfoExtractor):
11
+ self._file_info_extractor: IFileInfoExtractor = file_info_extractor
12
13
+ @abstractmethod
14
+ def get_workspace_root(self) -> str:
15
+ raise NotImplementedError
16
17
+ def get_all_files_filter_by_exts(self, exts: set[str]) -> Iterable[str]:
18
+ for root, _, files in os.walk(self.get_workspace_root()):
19
+ for file in files:
20
+ if self._file_info_extractor.get_file_ext(file) in exts:
21
+ yield os.path.join(root, file)
22
23
+ def get_all_files_filter_by_file_type(self, file_types: set[str]) -> Iterable[str]:
24
25
26
+ if self._file_info_extractor.get_file_type(file) in file_types:
27
python_coderunner/src/project_info_extractor/interface.py
@@ -1,26 +1,16 @@
-import os
from abc import ABC, abstractmethod
from typing import Iterable
-from ..file_info_extractor import IFileInfoExtractor
-
class IProjectInfoExtractor(ABC):
- def __init__(self, file_info_extractor: IFileInfoExtractor):
- self._file_info_extractor: IFileInfoExtractor = file_info_extractor
@abstractmethod
def get_workspace_root(self) -> str:
raise NotImplementedError
def get_all_files_filter_by_exts(self, exts: set[str]) -> Iterable[str]:
- for root, _, files in os.walk(self.get_workspace_root()):
- for file in files:
- if self._file_info_extractor.get_file_ext(file) in exts:
- yield os.path.join(root, file)
def get_all_files_filter_by_file_type(self, file_types: set[str]) -> Iterable[str]:
- if self._file_info_extractor.get_file_type(file) in file_types:
python_coderunner/src/project_info_extractor/vim_project_info_extractor.py
@@ -1,8 +1,8 @@
import vim
-from .interface import IProjectInfoExtractor
+from .base import TBaseProjectInfoExtractor
-class TVimProjectInfoExtractor(IProjectInfoExtractor):
+class TVimProjectInfoExtractor(TBaseProjectInfoExtractor):
return vim.eval("getcwd()")
python_coderunner/tests/unit/conftest.py
@@ -61,19 +61,19 @@ def fixture_vim_config() -> IConfig:
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
0 commit comments