pytex/PyTeX/format/formatter.py

28 lines
822 B
Python

from typing import List, Optional, Dict, Tuple
from pathlib import Path
class Formatter:
"""
A formatter is bound to a specific input file with some
building configuration.
"""
def format(self, build_dir: Path) -> Optional[List[Tuple[str, Dict]]]:
"""
:param build_dir: Directory where output files are written to
:return: When configuration files are needed for a future
build of the output files, a list of the file names and their
needed configurations. Else None.
"""
pass
@property
def output_files(self) -> List[str]:
"""
:return: List of files that will be built when the formatter is invoked
"""
pass
def set_input_file(self, locate_config=True) -> None:
raise NotImplementedError