From 1e8fe43131d9f622bc068d9e62ba3a64c1ac5f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Wed, 9 Feb 2022 12:06:15 +0100 Subject: [PATCH] refactor git version info into own file --- PyTeX/format/formatting_config.py | 46 +---------------------------- PyTeX/format/git_version_info.py | 48 +++++++++++++++++++++++++++++++ PyTeX/format/pytex_formatter.py | 3 +- 3 files changed, 51 insertions(+), 46 deletions(-) create mode 100644 PyTeX/format/git_version_info.py diff --git a/PyTeX/format/formatting_config.py b/PyTeX/format/formatting_config.py index 50c5dac..6a89fb1 100644 --- a/PyTeX/format/formatting_config.py +++ b/PyTeX/format/formatting_config.py @@ -1,56 +1,12 @@ -from typing import List, Optional, Dict, Union +from typing import List, Optional, Dict from .constants import * from .enums import NamingScheme from .enums import TeXType, TeXFlavour from .generic_text import GenericText -from .repo_status_info import RepoStatusInfo from .config import Config -class GitVersionInfo(Config): - def __init__(self): - self._repo_version: Optional[RepoStatusInfo] = None - self._pytex_version: Optional[RepoStatusInfo] = None - - def set_from_json(self, content: Optional[Dict]): - filled_content = self._fill_keys(content) - self._repo_version = RepoStatusInfo.from_json( - filled_content[YAML_REPO] - ) - self._pytex_version = RepoStatusInfo.from_json( - filled_content[YAML_PYTEX] - ) - - def to_json(self) -> Dict: - return { - YAML_PYTEX: self.pytex_version.to_json(), - YAML_REPO: self.repo_version.to_json() - } - - @property - def pytex_version(self) -> RepoStatusInfo: - if self._pytex_version is None: - return RepoStatusInfo() - else: - return self._pytex_version - - @property - def repo_version(self) -> RepoStatusInfo: - if self._repo_version is None: - return RepoStatusInfo() - else: - return self._repo_version - - @property - def has_pytex_version(self) -> bool: - return self._pytex_version is None - - @property - def has_repo_version(self) -> bool: - return self._repo_version is None - - class FormattingConfig(Config): def __init__(self): self._naming_scheme: Optional[NamingScheme] = None diff --git a/PyTeX/format/git_version_info.py b/PyTeX/format/git_version_info.py new file mode 100644 index 0000000..92f5964 --- /dev/null +++ b/PyTeX/format/git_version_info.py @@ -0,0 +1,48 @@ +from typing import Optional, Dict + +from PyTeX.format.config import Config +from PyTeX.format.constants import YAML_REPO, YAML_PYTEX +from PyTeX.format.repo_status_info import RepoStatusInfo + + +class GitVersionInfo(Config): + def __init__(self): + self._repo_version: Optional[RepoStatusInfo] = None + self._pytex_version: Optional[RepoStatusInfo] = None + + def set_from_json(self, content: Optional[Dict]): + filled_content = self._fill_keys(content) + self._repo_version = RepoStatusInfo.from_json( + filled_content[YAML_REPO] + ) + self._pytex_version = RepoStatusInfo.from_json( + filled_content[YAML_PYTEX] + ) + + def to_json(self) -> Dict: + return { + YAML_PYTEX: self.pytex_version.to_json(), + YAML_REPO: self.repo_version.to_json() + } + + @property + def pytex_version(self) -> RepoStatusInfo: + if self._pytex_version is None: + return RepoStatusInfo() + else: + return self._pytex_version + + @property + def repo_version(self) -> RepoStatusInfo: + if self._repo_version is None: + return RepoStatusInfo() + else: + return self._repo_version + + @property + def has_pytex_version(self) -> bool: + return self._pytex_version is None + + @property + def has_repo_version(self) -> bool: + return self._repo_version is None \ No newline at end of file diff --git a/PyTeX/format/pytex_formatter.py b/PyTeX/format/pytex_formatter.py index ffa6411..46f3da4 100644 --- a/PyTeX/format/pytex_formatter.py +++ b/PyTeX/format/pytex_formatter.py @@ -4,7 +4,8 @@ from typing import Optional, Dict from .constants import * from .formatterif import FormatterIF -from .formatting_config import FormattingConfig, GitVersionInfo +from .formatting_config import FormattingConfig +from .git_version_info import GitVersionInfo from .generic_text import GenericText from ..logger import logger from abc import ABC