from pycountry import countries from slugify import slugify from airflow.models import Variable # TODO consider moving whole config to variables CSV_DELIMITER = "\t" CSV_QUOTE_CHAR = '"' CSV_NULL_VALUE = "1.#QNAN" CSV_NORMALIZERS = { "id": str, "name": str, "artist_name": str, "label": str } N_A_VALUE = "N/A" N_A_SLUG = slugify(N_A_VALUE) AVAILABLE_COUNTRIES = tuple(slugify(country.alpha_2) for country in countries) + (N_A_SLUG,) PROD_ENV = "prod" ENVIRONMENT = Variable.get("environment", PROD_ENV).lower() IS_PROD = ENVIRONMENT == PROD_ENV SERVICE = Variable.get("service", "dna-etl").lower() S3_ARTIFACTS_BUCKET = Variable.get("s3_artifacts_bucket") S3_BUCKET_REGION = Variable.get("s3_bucket_region", "us-east-1") POSTGRES_SCHEMA = Variable.get("postgres_schema") SNOWFLAKE_ENV = Variable.get("snowflake_env") ELASTIC_SEARCH_ENV = Variable.get("elastic_search_env").lower() ELASTIC_SEARCH_URL = Variable.get("elastic_search_url")