Skip to content

Commit a9d4dd9

Browse files
refactor: public members (#28)
1 parent 4c38991 commit a9d4dd9

6 files changed

Lines changed: 38 additions & 24 deletions

File tree

python_coderunner/src/command_builder/interpolator_command_builder.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77

88

99
class TInterpolatorCommandBuilder(ICommandBuilder):
10-
WORKSPACE_ROOT_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$workspaceRoot")
11-
FULL_FILE_NAME_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$fullFileName")
12-
FILE_NAME_WITHOUT_EXT_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$fileNameWithoutExt")
13-
FILE_NAME_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$fileName")
14-
FILE_EXT: ClassVar[re.Pattern[str]] = re.compile(r"\$fileExt")
15-
DRIVE_LETTER_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$driveLetter")
16-
DIR_WITHOUT_TRAILING_SLASH_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$dirWithoutTrailingSlash")
17-
DIR_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$dir")
10+
_WORKSPACE_ROOT_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$workspaceRoot")
11+
_FULL_FILE_NAME_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$fullFileName")
12+
_FILE_NAME_WITHOUT_EXT_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$fileNameWithoutExt")
13+
_FILE_NAME_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$fileName")
14+
_FILE_EXT: ClassVar[re.Pattern[str]] = re.compile(r"\$fileExt")
15+
_DRIVE_LETTER_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$driveLetter")
16+
_DIR_WITHOUT_TRAILING_SLASH_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$dirWithoutTrailingSlash")
17+
_DIR_PATTERN: ClassVar[re.Pattern[str]] = re.compile(r"\$dir")
1818

1919
def __init__(
2020
self,
@@ -34,23 +34,23 @@ def _interpolate(self, file_path_abs: str) -> str:
3434
The reverse alphabetical order is important so that substitutions are performed greedily,
3535
i.e. $dirWithoutTrailingSlash must be before $dir.
3636
"""
37-
interpolated_str: str = self.WORKSPACE_ROOT_PATTERN.sub(
37+
interpolated_str: str = self._WORKSPACE_ROOT_PATTERN.sub(
3838
self._project_info_extractor.get_workspace_root(), self._template_string
3939
)
40-
interpolated_str = self.FULL_FILE_NAME_PATTERN.sub(file_path_abs, interpolated_str)
41-
interpolated_str = self.FILE_NAME_WITHOUT_EXT_PATTERN.sub(
40+
interpolated_str = self._FULL_FILE_NAME_PATTERN.sub(file_path_abs, interpolated_str)
41+
interpolated_str = self._FILE_NAME_WITHOUT_EXT_PATTERN.sub(
4242
self._file_info_extractor.get_file_name_without_ext(file_path_abs), interpolated_str
4343
)
44-
interpolated_str = self.FILE_NAME_PATTERN.sub(
44+
interpolated_str = self._FILE_NAME_PATTERN.sub(
4545
self._file_info_extractor.get_file_name(file_path_abs), interpolated_str
4646
)
47-
interpolated_str = self.FILE_EXT.sub(self._file_info_extractor.get_file_ext(file_path_abs), interpolated_str)
48-
interpolated_str = self.DRIVE_LETTER_PATTERN.sub(
47+
interpolated_str = self._FILE_EXT.sub(self._file_info_extractor.get_file_ext(file_path_abs), interpolated_str)
48+
interpolated_str = self._DRIVE_LETTER_PATTERN.sub(
4949
self._file_info_extractor.get_drive_letter(file_path_abs), interpolated_str
5050
)
51-
interpolated_str = self.DIR_WITHOUT_TRAILING_SLASH_PATTERN.sub(
51+
interpolated_str = self._DIR_WITHOUT_TRAILING_SLASH_PATTERN.sub(
5252
self._file_info_extractor.get_dir_without_trailing_slash(file_path_abs), interpolated_str
5353
)
54-
interpolated_str = self.DIR_PATTERN.sub(self._file_info_extractor.get_dir(file_path_abs), interpolated_str)
54+
interpolated_str = self._DIR_PATTERN.sub(self._file_info_extractor.get_dir(file_path_abs), interpolated_str)
5555

5656
return interpolated_str

python_coderunner/src/config/config_field.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,11 @@ def get(self) -> ValueType:
3232
try:
3333
raw_value: Any = self._getter()
3434
except UndefinedValueError as e:
35-
raise ConfigFieldUndefinedValueError.from_undefined_value_error(e, self._allowed_values_description)
35+
raise ConfigFieldUndefinedValueError.from_undefined_value_error(e, self._allowed_values_description) from e
3636

3737
try:
3838
return self._validator(raw_value)
3939
except ValidationError as e:
40-
raise ConfigFieldValidationError.from_validation_error(e, self._name, self._allowed_values_description)
40+
raise ConfigFieldValidationError.from_validation_error(
41+
e, self._name, self._allowed_values_description
42+
) from e
Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1-
from typing import Any, Callable, TypeAlias
1+
from abc import ABC, abstractmethod
2+
from typing import Any
23

3-
IConfigValueGetter: TypeAlias = Callable[[], Any]
4+
5+
class IConfigValueGetter(ABC):
6+
@abstractmethod
7+
def __call__(self) -> Any:
8+
"""
9+
Gets config value from external source.
10+
11+
Raises:
12+
UndefinedValueError: If the config value is not defined.
13+
"""
14+
raise NotImplementedError

python_coderunner/src/config/getter/vim_config_value_getter.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
import vim
44

55
from .exceptions import UndefinedValueError
6+
from .interface import IConfigValueGetter
67

78

8-
class TBaseVimConfigValueGetter:
9+
class TBaseVimConfigValueGetter(IConfigValueGetter):
910
"""Base class for getting Vim config values"""
1011

1112
def _get_vim_var(self, var_name: str) -> Any:

python_coderunner/src/config/interface.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ class EDispatchersTypes(StrEnum):
99

1010

1111
class IConfig(ABC):
12-
"""Configuration interface"""
13-
1412
@abstractmethod
1513
def get_by_file_ext(self) -> dict[str, str]:
1614
"""Gets config for file extension-based dispatching"""

python_coderunner/src/config/validator/interface.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ class IValidator(ABC, Generic[ValueType]):
99
def __call__(self, value: Any) -> ValueType:
1010
"""
1111
Validates value and returns typed result.
12-
Raises ValidationError on validation failure.
12+
13+
Raises:
14+
ValidationError on validation failure.
1315
"""
1416
raise NotImplementedError

0 commit comments

Comments
 (0)