correct file extension handling for simple tex formatters
This commit is contained in:
parent
7a3fded422
commit
6798962880
3 changed files with 21 additions and 4 deletions
|
@ -9,7 +9,7 @@ from .dtx_formatter import DTXFormatter
|
|||
from .pytex_formatter import PyTeXFormatter
|
||||
from .git_version_info import GitVersionInfo
|
||||
from .default_macros import get_default_macros
|
||||
|
||||
from .enums import TeXType
|
||||
|
||||
def formatter_from_file_extension(
|
||||
input_file: Path,
|
||||
|
@ -25,12 +25,20 @@ def formatter_from_file_extension(
|
|||
'cls.pytex': SimpleTeXFormatter,
|
||||
'dict.pytex': DictFormatter
|
||||
}
|
||||
switcher2: Dict[str, TeXType] = {
|
||||
'dtx.pytex': TeXType.TeXDocstrip,
|
||||
'sty.pytex': TeXType.TeXPackage,
|
||||
'cls.pytex': TeXType.TeXClass,
|
||||
'dict.pytex': TeXType.TeXDictionary
|
||||
}
|
||||
# TODO: other formatters
|
||||
try:
|
||||
[name, extension] = input_file.name.split('.', maxsplit=1)
|
||||
except:
|
||||
raise NotImplementedError
|
||||
|
||||
config.tex_type = switcher2[extension] # This sets the textype from file extension
|
||||
|
||||
formatter = switcher[extension](
|
||||
input_file=input_file,
|
||||
config=config,
|
||||
|
|
|
@ -12,6 +12,7 @@ from abc import ABC, abstractmethod
|
|||
from .enums import *
|
||||
from datetime import *
|
||||
|
||||
|
||||
class PyTeXFormatter(FormatterIF, ABC):
|
||||
def __init__(
|
||||
self,
|
||||
|
|
|
@ -2,12 +2,20 @@ from .formatting_config import FormattingConfig
|
|||
from .tex_formatter import TexFormatter
|
||||
from pathlib import Path
|
||||
from typing import Optional, List, Tuple, Dict
|
||||
from .enums import TeXFlavour
|
||||
from .enums import TeXFlavour, TeXType
|
||||
|
||||
|
||||
class SimpleTeXFormatter(TexFormatter):
|
||||
@property
|
||||
def output_file(self) -> str:
|
||||
switcher = {
|
||||
TeXType.TeXClass: '.cls',
|
||||
TeXType.TeXPackage: '.sty',
|
||||
}
|
||||
return self.name + switcher[self.config.tex_type]
|
||||
|
||||
def open_output_stream(self, build_dir: Path):
|
||||
out_file = build_dir / self.input_file.with_suffix('').name
|
||||
out_file = build_dir / self.output_file
|
||||
if out_file.exists():
|
||||
raise NotImplementedError
|
||||
else:
|
||||
|
@ -26,7 +34,7 @@ class SimpleTeXFormatter(TexFormatter):
|
|||
|
||||
@property
|
||||
def output_files(self) -> List[str]:
|
||||
return [self.input_file.with_suffix('').name]
|
||||
return [self.output_file]
|
||||
|
||||
def _post_process_line(self, line: str) -> str:
|
||||
if self.config.tex_flavour == TeXFlavour.LaTeX2e:
|
||||
|
|
Loading…
Reference in a new issue