28 lines
822 B
Python
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
|