fix some type errors

This commit is contained in:
Maximilian Keßler 2022-02-08 16:24:42 +01:00
parent 91bcb64be5
commit 582d6670b8
4 changed files with 31 additions and 21 deletions

View file

@ -14,38 +14,46 @@ class GitVersionInfo(Config):
self._pytex_version: Optional[RepoStatusInfo] = None
def set_from_json(self, content: Optional[Dict]):
content = self._fill_keys(content)
filled_content = self._fill_keys(content)
self._repo_version = RepoStatusInfo.from_json(
content[YAML_REPO]
filled_content[YAML_REPO]
)
self._pytex_version = RepoStatusInfo.from_json(
content[YAML_PYTEX]
filled_content[YAML_PYTEX]
)
def to_json(self) -> Dict:
return {
YAML_PYTEX: self._pytex_version.to_json(),
YAML_REPO: self._repo_version.to_json()
YAML_PYTEX: self.pytex_version.to_json(),
YAML_REPO: self.repo_version.to_json()
}
@property
def pytex_version(self) -> Optional[RepoStatusInfo]:
def pytex_version(self) -> RepoStatusInfo:
if self._pytex_version is None:
return None
return RepoStatusInfo()
else:
return self._pytex_version
@property
def repo_version(self) -> Optional[RepoStatusInfo]:
def repo_version(self) -> RepoStatusInfo:
if self._repo_version is None:
return 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[Union[NamingScheme, str]] = None
self._naming_scheme: Optional[NamingScheme] = None
self._license: Optional[GenericText] = None
self._description: Optional[str] = None
@ -74,9 +82,9 @@ class FormattingConfig(Config):
self._tex_flavour: Optional[TeXFlavour] = None
def set_from_json(self, content: Optional[Dict]):
content = self._fill_keys(content)
filled_content = self._fill_keys(content)
info = content[YAML_INFO]
info = filled_content[YAML_INFO]
self._author = info[YAML_AUTHOR]
self._naming_scheme = info[YAML_NAMING_SCHEME]
self._tex_flavour = info[YAML_TEX_FLAVOUR]
@ -84,7 +92,7 @@ class FormattingConfig(Config):
self._description = info[YAML_DESCRIPTION]
self._version = info[YAML_VERSION]
header = content[YAML_HEADER]
header = filled_content[YAML_HEADER]
extra = header[YAML_EXTRA]
self._include_extra_header = extra[YAML_INCLUDE_EXTRA_HEADER]
self._extra_header = GenericText(
@ -113,7 +121,7 @@ class FormattingConfig(Config):
license_[YAML_PATH] if license_[YAML_PATH] else license_[YAML_TEXT]
)
docstrip = content[YAML_DOCSTRIP]
docstrip = filled_content[YAML_DOCSTRIP]
self._include_drv = docstrip[YAML_INCLUDE_DRV]
self._include_ins = docstrip[YAML_INCLUDE_INS]
self._docstrip_guards = docstrip[YAML_DOCSTRIP_GUARDS]

View file

@ -12,7 +12,7 @@ class GenericText:
self._path = None
self._initialized = True
elif isinstance(content, Path) or isinstance(content, str):
self._content: Optional[List[str]] = None
self._content = None
self._path = Path(content)
self._initialized = True
else:
@ -24,6 +24,8 @@ class GenericText:
def text(self) -> List[str]:
if self._initialized:
if self._content is None:
if self._path is None:
raise NotImplementedError # Programming error
try:
with open(self._path, 'r') as file:
self._content = file.readlines()

View file

@ -30,7 +30,7 @@ class Argument(MacroReplacementAtomIF, Enum):
six = 6
class MacroReplacement(str):
class MacroReplacement:
def __init__(
self,
replacement: str,

View file

@ -13,11 +13,11 @@ class RepoStatusInfo(Config):
self._version: Optional[str] = None
def set_from_json(self, content: Optional[Dict]):
content = self._fill_keys(content)
self._branch = content[JSON_BRANCH]
self._dirty = content[JSON_DIRTY]
self._commit_hash = content[JSON_COMMIT_HASH]
self._version = content[JSON_VERSION]
filled_content: Dict = self._fill_keys(content)
self._branch = filled_content[JSON_BRANCH]
self._dirty = filled_content[JSON_DIRTY]
self._commit_hash = filled_content[JSON_COMMIT_HASH]
self._version = filled_content[JSON_VERSION]
def to_json(self) -> Dict:
return {