add formatter interface
This commit is contained in:
parent
8b07649512
commit
6278a0df5c
1 changed files with 25 additions and 0 deletions
25
PyTeX/formatting/formatter.py
Normal file
25
PyTeX/formatting/formatter.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
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
|
Loading…
Reference in a new issue