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]