import os, json from datetime import timezone, timedelta from modules import log_module from Crypto.Random import get_random_bytes def environ_get(variable, required=False): if variable not in os.environ: if not required: log_module.logger("system").warning(f"Variable not set {variable}") return None else: log_module.logger("system").error(f"Required variable not set {variable}") return os.environ[variable] TZ = timezone(timedelta(hours=-4)) GPT_MODEL = environ_get("GPT_MODEL", True) MONGO_URL = environ_get("MONGO_URL") MONGO_PWD = environ_get("MONGO_PWD") MONGO_USR = environ_get("MONGO_USR") DB_URI = f"mongodb+srv://{MONGO_USR}:{MONGO_PWD}@{MONGO_URL}/?retryWrites=true&w=majority" OPENAI_API_KEY=environ_get('OPENAI_API_KEY', True) USERS = json.loads(str(environ_get("USER_KEYS", True)).replace("\n", "")) JWT_SECRET = environ_get('JWT_SECRET', True) JWT_ALGORITHM = "HS256" JWT_EXPIRATION_TIME_MINUTES_API = 7*24*60 JWT_EXPIRATION_TIME_MINUTES_VIEW = 7*24*60 GOOGLE_CLIENT_ID = environ_get("GOOGLE_CLIENT_ID", True) GOOGLE_CLIENT_SECRET = environ_get("GOOGLE_CLIENT_SECRET", True) GOOGLE_API_KEY = environ_get("GOOGLE_API_KEY") GOOGLE_CSE_ID = environ_get("GOOGLE_CSE_ID") OAUTH_REDIRECT = os.environ.get("OAUTH_REDIRECT", True)