add pytex files
This commit is contained in:
parent
a3b8253aa3
commit
c6b9bb6a77
3 changed files with 88 additions and 0 deletions
2
PyTeX/build/pytex_file/__init__.py
Normal file
2
PyTeX/build/pytex_file/__init__.py
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
from .enums import *
|
||||||
|
from .pytex_file import PyTeXSourceFile
|
58
PyTeX/build/pytex_file/enums.py
Normal file
58
PyTeX/build/pytex_file/enums.py
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class TeXType(Enum):
|
||||||
|
TeXPackage = 'TeXPackage'
|
||||||
|
TeXClass = 'TeXClass'
|
||||||
|
TeXDocstrip = 'TeXDocstrip'
|
||||||
|
TeXDictionary = 'TeXDictionary'
|
||||||
|
TeXDocumentation = 'TeXDocumentation'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def parse(tex_type: str):
|
||||||
|
switcher = {
|
||||||
|
'package': TeXType.TeXPackage,
|
||||||
|
'sty': TeXType.TeXPackage,
|
||||||
|
'class': TeXType.TeXClass,
|
||||||
|
'cls': TeXType.TeXClass,
|
||||||
|
'dictionary': TeXType.TeXDictionary,
|
||||||
|
'dict': TeXType.TeXDictionary,
|
||||||
|
'documentation': TeXType.TeXDocumentation,
|
||||||
|
'doc': TeXType.TeXDocumentation, # TODO: dangerous?
|
||||||
|
'dtx': TeXType.TeXDocstrip,
|
||||||
|
'docstrip': TeXType.TeXDocstrip,
|
||||||
|
'strip': TeXType.TeXDocstrip
|
||||||
|
}
|
||||||
|
if tex_type not in switcher.keys():
|
||||||
|
raise ValueError # TODO
|
||||||
|
else:
|
||||||
|
return switcher[tex_type]
|
||||||
|
|
||||||
|
|
||||||
|
class TeXFlavour(Enum):
|
||||||
|
TeX = 'TeX'
|
||||||
|
LaTeX2e = 'LaTeX2e'
|
||||||
|
LaTeX3 = 'LaTeX3'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def parse(flavour: str):
|
||||||
|
switcher = {
|
||||||
|
'1': TeXFlavour.TeX,
|
||||||
|
'2': TeXFlavour.LaTeX2e,
|
||||||
|
'2e': TeXFlavour.LaTeX2e,
|
||||||
|
'3': TeXFlavour.LaTeX3,
|
||||||
|
'TeX': TeXFlavour.TeX,
|
||||||
|
'LaTeX2e': TeXFlavour.LaTeX2e,
|
||||||
|
'LateX3': TeXFlavour.LaTeX3
|
||||||
|
}
|
||||||
|
if flavour not in switcher.keys():
|
||||||
|
raise ValueError # TODO
|
||||||
|
else:
|
||||||
|
return switcher[flavour]
|
||||||
|
|
||||||
|
|
||||||
|
class PyTeXFileType(Enum):
|
||||||
|
PyTeXSourceFile = 'PyTeXSourceFile'
|
||||||
|
TeXSourceFile = 'TeXSourceFile'
|
||||||
|
TeXOutputFile = 'TeXOutputFile'
|
||||||
|
TeXDocumentationFile = 'TeXDocumentationFile'
|
28
PyTeX/build/pytex_file/pytex_file.py
Normal file
28
PyTeX/build/pytex_file/pytex_file.py
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
from typing import Optional, List
|
||||||
|
|
||||||
|
from PyTeX.build.build_info import BasicBuildInfo
|
||||||
|
from PyTeX.config import BasicFormattingConfig, GlobalPyTeXConfig
|
||||||
|
from PyTeX.paths import RelativePath
|
||||||
|
from .enums import PyTeXFileType
|
||||||
|
|
||||||
|
|
||||||
|
class PyTeXSourceFile:
|
||||||
|
def __init__(self):
|
||||||
|
self._pytex_file_type: PyTeXFileType = None
|
||||||
|
self._relative_path: RelativePath = None
|
||||||
|
self._build_info: Optional[BasicBuildInfo] = None
|
||||||
|
|
||||||
|
@property
|
||||||
|
def relative_path(self) -> RelativePath:
|
||||||
|
return self._relative_path
|
||||||
|
|
||||||
|
@property
|
||||||
|
def pytex_file_type(self) -> PyTeXFileType:
|
||||||
|
return self._pytex_file_type
|
||||||
|
|
||||||
|
def format(self) -> None:
|
||||||
|
pass
|
||||||
|
|
||||||
|
@property
|
||||||
|
def provided_files(self) -> List[RelativePath]:
|
||||||
|
pass
|
Loading…
Reference in a new issue