pytex/PyTeX/build/pytex_file/enums.py

59 lines
1.6 KiB
Python
Raw Normal View History

2022-02-04 21:14:40 +01:00
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():
2022-02-05 19:05:50 +01:00
raise NotImplementedError
2022-02-04 21:14:40 +01:00
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():
2022-02-05 19:05:50 +01:00
raise NotImplementedError
2022-02-04 21:14:40 +01:00
else:
return switcher[flavour]
class PyTeXFileType(Enum):
PyTeXSourceFile = 'PyTeXSourceFile'
TeXSourceFile = 'TeXSourceFile'
TeXOutputFile = 'TeXOutputFile'
TeXDocumentationFile = 'TeXDocumentationFile'