pytex/PyTeX/format/enums.py
2022-02-06 00:12:54 +01:00

62 lines
1.6 KiB
Python

from enum import Enum
class NamingScheme(Enum):
prepend_author = 0
clean = 1
class License(Enum):
LPPL = 0
GPLv3 = 1
MIT = 2
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 NotImplementedError
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 NotImplementedError
else:
return switcher[flavour]