55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
from enum import Enum
|
|
|
|
|
|
class AspectRatios(str, Enum):
|
|
ONEONE = "1:1"
|
|
TWOTHREE = "2:3"
|
|
THREETWO = "3:2"
|
|
THREEFOUR = "3:4"
|
|
FOURTHREE = "4:3"
|
|
FOURFIVE = "4:5"
|
|
FIVEFOUR = "5:4"
|
|
NINESIXTEEN = "9:16"
|
|
SIXTEENNINE = "16:9"
|
|
TWENTYONENINE = "21:9"
|
|
|
|
@classmethod
|
|
def _missing_(cls, value):
|
|
mapping = {
|
|
"NINESIXTEEN": cls.NINESIXTEEN,
|
|
"SIXTEENNINE": cls.SIXTEENNINE,
|
|
"THREEFOUR": cls.THREEFOUR,
|
|
"FOURTHREE": cls.FOURTHREE,
|
|
}
|
|
return mapping.get(value)
|
|
|
|
@property
|
|
def value_ratio(self) -> str:
|
|
return self.value
|
|
|
|
|
|
class Quality(str, Enum):
|
|
ONEK = 'ONEK'
|
|
TWOK = 'TWOK'
|
|
FOURK = 'FOURK'
|
|
|
|
@property
|
|
def value_quality(self) -> str:
|
|
return {
|
|
Quality.ONEK: '1K',
|
|
Quality.TWOK: '2K',
|
|
Quality.FOURK: '4K'
|
|
}[self]
|
|
|
|
|
|
class GenType(str, Enum):
|
|
TEXT = 'Text'
|
|
IMAGE = 'Image'
|
|
|
|
@property
|
|
def value_type(self) -> str:
|
|
return {
|
|
GenType.TEXT: 'Text',
|
|
GenType.IMAGE: 'Image',
|
|
}[self]
|