40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
|
from pathlib import Path
|
||
|
from typing import Optional, List
|
||
|
from .formatting_config import FormattingConfig
|
||
|
from .enums import TeXType, TeXFlavour
|
||
|
from .formatterif import FormatterIF
|
||
|
from .generic_text import GenericText
|
||
|
|
||
|
class PyTeXFormatter(FormatterIF):
|
||
|
def __init__(
|
||
|
self,
|
||
|
input_file: Optional[Path] = None,
|
||
|
config: Optional[FormattingConfig] = None,
|
||
|
tex_type: Optional[TeXType] = None,
|
||
|
tex_flavour: Optional[TeXFlavour] = None
|
||
|
):
|
||
|
super().__init__(
|
||
|
input_file=input_file,
|
||
|
config=config
|
||
|
)
|
||
|
self._config: Optional[FormattingConfig] = self._config
|
||
|
self._tex_type: Optional[TeXType] = tex_type
|
||
|
self._tex_flavour: Optional[TeXFlavour] = tex_flavour
|
||
|
self._header: Optional[GenericText] = None
|
||
|
self._formatted_header: Optional[str] = None
|
||
|
|
||
|
@property
|
||
|
def config(self) -> FormattingConfig:
|
||
|
if self._config is None:
|
||
|
raise NotImplementedError
|
||
|
return self._config
|
||
|
|
||
|
@property
|
||
|
def header(self) -> GenericText:
|
||
|
if self._header is None:
|
||
|
if not(
|
||
|
self.config.include_extra_header
|
||
|
or self.config.include_build_time
|
||
|
):
|
||
|
pass
|