from os import getenv from dotenv import load_dotenv from TTS.GTTS import GTTS from TTS.POLLY import POLLY from TTS.TikTok import TikTok CHOICE_DIR = {"tiktok": TikTok, "gtts": GTTS, "polly": POLLY} class TTS: def __new__(cls): load_dotenv() CHOICE = getenv("TTsChoice").casefold() valid_keys = [key.lower() for key in CHOICE_DIR.keys()] if CHOICE not in valid_keys: raise ValueError(f"{CHOICE} is not valid. Please use one of these {valid_keys} options") return CHOICE_DIR.get(CHOICE)()