pytex/PyTeX/format/formatting_config.py

207 lines
5.6 KiB
Python
Raw Normal View History

2022-02-06 00:02:59 +01:00
from typing import List, Optional, Union, Any, Tuple
from .enums import NamingScheme
2022-02-05 22:40:10 +01:00
from .generic_text import GenericText
2022-02-06 15:09:25 +01:00
from .formatterif import Config
from .git_version_info import GitVersionInfo
2022-02-04 11:39:15 +01:00
class VersionInfo:
def __init__(self):
self._repo_version: Optional[GitVersionInfo] = None
self._pytex_version: Optional[GitVersionInfo] = None
@property
def pytex_version(self) -> Optional[GitVersionInfo]:
if self._pytex_version is None:
return None
else:
return self._pytex_version
@property
def repo_version(self) -> Optional[GitVersionInfo]:
if self._repo_version is None:
return None
else:
return self._repo_version
2022-02-06 15:09:25 +01:00
class FormattingConfig(Config):
2022-02-04 11:39:15 +01:00
def __init__(self):
2022-02-05 23:54:45 +01:00
self._naming_scheme: Optional[Union[NamingScheme, str]] = None
self._license: Optional[GenericText] = None
self._description: Optional[str] = None
2022-02-04 11:39:15 +01:00
2022-02-05 23:54:45 +01:00
self._include_extra_header: Optional[bool] = None
self._include_build_time: Optional[bool] = None
self._include_pytex_version: Optional[bool] = None
self._include_pytex_info_text: Optional[bool] = None
self._include_repo_version: Optional[bool] = None
self._include_repo_info_text: Optional[bool] = None
2022-02-06 22:29:44 +01:00
self._include_time: Optional[bool] = None
2022-02-04 11:39:15 +01:00
self._extra_header: Optional[GenericText] = None
2022-02-05 22:40:10 +01:00
self._author: Optional[str] = None
2022-02-05 23:54:45 +01:00
self._version: Optional[str] = None
2022-02-05 22:40:10 +01:00
self._pytex_info_text: Optional[GenericText] = None
self._repo_info_text: Optional[GenericText] = None
2022-02-06 20:38:14 +01:00
self._include_drv: Optional[bool] = None
self._include_ins: Optional[bool] = None
2022-02-06 22:34:43 +01:00
self._docstrip_guards: Optional[List[str]] = None
self._doc_dependencies: Optional[List[str]] = None
self._tex_dependencies: Optional[List[str]] = None
2022-02-06 15:09:25 +01:00
@classmethod
def from_yaml(cls, yaml):
pass
def to_yaml(self) -> str:
pass
2022-02-06 15:09:25 +01:00
@property
def naming_scheme(self) -> NamingScheme:
if self._naming_scheme is None:
return NamingScheme.prepend_author
else:
return self._naming_scheme
@property
def license(self) -> GenericText:
2022-02-06 15:09:25 +01:00
if self._license is None:
return GenericText([])
2022-02-06 15:09:25 +01:00
else:
return self._license
@property
def include_extra_header(self) -> bool:
if self._include_extra_header is None:
return False
else:
return self._include_extra_header
@property
def include_build_time(self) -> bool:
if self._include_build_time is None:
return False
else:
return self._include_build_time
@property
def include_pytex_version(self) -> bool:
if self._include_pytex_version is None:
return False
else:
return self._include_pytex_version
@property
def include_pytex_info_text(self) -> bool:
if self._include_pytex_info_text is None:
return False
else:
return self._include_pytex_info_text
@property
def include_repo_version(self) -> bool:
if self._include_repo_version is None:
return False
else:
return self._include_repo_version
@property
def include_repo_info_text(self) -> bool:
if self._include_repo_info_text is None:
return False
else:
return self._include_repo_info_text
@property
def extra_header(self) -> GenericText:
2022-02-06 15:09:25 +01:00
if self._extra_header is None:
return GenericText([])
2022-02-06 15:09:25 +01:00
else:
return self._extra_header
@property
def author(self) -> str:
if self._author is None:
return "MISSING AUTHOR"
else:
return self._author
@property
def version(self) -> str:
if self._version is None:
return "0.0.0"
else:
return self._version
@property
def pytex_info_text(self) -> GenericText:
if self._pytex_info_text is None:
return GenericText([])
else:
return self._pytex_info_text
@property
def repo_info_text(self) -> GenericText:
if self._repo_info_text is None:
return GenericText([])
else:
return self._repo_info_text
@property
def include_drv(self) -> bool:
if self._include_drv is None:
return False
else:
return self._include_drv
@property
def include_ins(self) -> bool:
if self._include_ins is None:
return False
else:
return self._include_ins
@property
2022-02-06 22:34:43 +01:00
def docstrip_guards(self) -> list:
if self._docstrip_guards is None:
2022-02-06 15:09:25 +01:00
return []
else:
2022-02-06 22:34:43 +01:00
return self._docstrip_guards
2022-02-06 15:09:25 +01:00
@property
def description(self) -> str:
if self._description is None:
return ''
else:
return self._description
2022-02-06 22:29:44 +01:00
@property
def include_time(self) -> bool:
if self._include_time is None:
return False
else:
return self._include_time
2022-02-06 22:34:43 +01:00
@property
def doc_dependencies(self) -> List[str]:
if self._doc_dependencies is None:
return []
else:
return self._doc_dependencies
@property
def tex_dependencies(self) -> List[str]:
if self._tex_dependencies is None:
return []
else:
return self._tex_dependencies
2022-02-04 11:39:15 +01:00
2022-02-04 11:46:06 +01:00
class DocFormattingConfig:
2022-02-04 11:39:15 +01:00
def __init__(self):
self._documents: Optional[List[str]] = None
self._dependencies: Optional[List[str]] = None