"""Config vars for asset_ingestor.""" from distutils.util import strtobool import os # LOAD_ENV = strtobool(str(os.environ.get('LOAD_ENV', 'True'))) # # if LOAD_ENV: # from dotenv import load_dotenv # load_dotenv(override=True, verbose=True) # App Name and Version APP_NAME = 'ripper_feeder' APP_VERSION = '2.0.0' # Use local directory for source instead of S3 USE_LOCAL_FOR_SOURCE = strtobool( os.environ.get('USE_LOCAL_FOR_SOURCE', 'False')) # Files and Folders SOURCE_ROOT_FOLDER_PATH = os.environ.get('SOURCE_ROOT_FOLDER_PATH', 'assets') AUDIO_FOLDER_NAME = os.environ.get('AUDIO_FOLDER_NAME', 'audio') BOOKLET_FOLDER_NAME = os.environ.get('BOOKLET_FOLDER_NAME', 'booklets') COVER_FOLDER_NAME = os.environ.get('COVER_FOLDER_NAME', 'covers') TIF_FOLDER_NAME = os.environ.get('TIF_FOLDER_NAME', 'TIF') WAV_FOLDER_NAME = os.environ.get('WAV_FOLDER_NAME', 'WAV') OUTPUT_PATH = os.environ.get( 'OUTPUT_PATH', 'tmp/output/{date}') OUTPUT_PATH_DEV = os.environ.get( 'OUTPUT_PATH_DEV', 'tmp/output/{date}') TEMP_FILE_PATH = os.environ.get( 'TEMP_FILE_PATH', 'tmp/{date}') # Unique release-level key for ingestion FOREIGN_KEY_ID = os.environ.get('FOREIGN_KEY_ID', 'FOREIGN_REL_ID') # The filename transformer to use. FILENAME_TRANSFORMER = os.environ.get('FILENAME_TRANSFORMER', 'phonofile') # Source Tables # SOURCE_AUDIO_TABLE_NAME = os.environ.get('SOURCE_AUDIO_TABLE_NAME', # 'ASSET_AUDIO_RIPPER_TABLE') # SOURCE_COVER_TABLE_NAME = os.environ.get('SOURCE_COVER_TABLE_NAME', # 'ASSET_COVER_RIPPER_TABLE') SOURCE_AUDIO_VIEW = os.environ.get('SOURCE_AUDIO_VIEW', 'ASSET_AUDIO_RIPPER_VIEW') SOURCE_COVER_VIEW = os.environ.get('SOURCE_COVER_VIEW', 'ASSET_COVER_RIPPER_VIEW') # Max number of assets v2 requests to process each loop MAX_REQUEST_PER_LOOP = os.environ.get('MAX_REQUEST_PER_LOOP', 100) # Whether or not to send POST request to kick off assets V1 workflow. SEND_API_V1 = strtobool(os.environ.get('SEND_API_V1', 'True')) # Release Ingestion Track View Table - @rkordisch's master tracking table. RITV_TABLE = os.environ.get('RITV_TABLE', '') # Toggle to control the upscaling of images < 3000px square FORCE_UPSCALE = strtobool(os.environ.get('FORCE_UPSCALE', 'True')) # Toggle to force files to square aspect ratio FORCE_SQUARE = strtobool(os.environ.get('FORCE_SQUARE', 'True')) # Percent difference above which FORCE_SQUARE should not run even if True. FORCE_SQUARE_THRESHOLD = os.environ.get('FORCE_SQUARE_THRESHOLD', 15) # Copy downloaded files to backup location (Completed) MAKE_BACKUP = strtobool( str(os.environ.get('MAKE_BACKUP', 'False'))) # Remove the source file after successful download. DELETE_SOURCE = strtobool( str(os.environ.get('DELETE_SOURCE', 'False'))) # Reverses the "polarity" of source and completed buckets UNDO_ACTION = strtobool( str(os.environ.get('UNDO_ACTION', 'False'))) # Process Audio files DO_AUDIO = strtobool( str(os.environ.get('DO_AUDIO', 'True'))) # Process Cover files DO_COVERS = strtobool( str(os.environ.get('DO_COVERS', 'True'))) # Download files locally first? Or copy directly # (All converted files are downloaded first) COPY_LOCAL = strtobool( str(os.environ.get('COPY_LOCAL', 'False'))) # Whether or not to perform 'sox'-based waveform corrections. CHECK_WAV = strtobool(str(os.environ.get('CHECK_WAV', 'False'))) # Opens and re-saves WAV files during CHECK_WAV processing even if no error # reported. FIX_ANYWAY = strtobool(str(os.environ.get('FIX_ANYWAY', 'False'))) # Should we skip processing tracks which exist in the target?? SKIP_EXISTING = strtobool( str(os.environ.get('SKIP_EXISTING', 'True'))) # Continue processing even if there is a mismatch between the count of tracks # in db and on source S3 IGNORE_FILE_COUNT_MISMATCH = strtobool( str(os.environ.get('IGNORE_MISMATCH', 'False'))) # Skip files already in the Completed folder # SKIP_BACKED_UP_FILES = strtobool( # str(os.environ.get('SKIP_BACKED_UP_FILES', True))) # SQL_DEBUG = strtobool(str(os.environ.get('SQL_DEBUG', 'False'))) SQL_WRITE_TO_FILE = strtobool( str(os.environ.get('SQL_WRITE_TO_FILE', 'False'))) SNOWFLAKE_AUDIO_TABLE_NUMBERED = os.environ.get( 'SNOWFLAKE_AUDIO_TABLE_NUMBERED', 'ASSET_AUDIO_RIPPER_TABLE_{}') SNOWFLAKE_COVER_TABLE_NUMBERED = os.environ.get( 'SNOWFLAKE_COVER_TABLE_NUMBERED', 'ASSET_COVER_RIPPER_TABLE_{}') # Debug functionality DEBUG_WRITE_TO_FILE = strtobool(str(os.environ.get( 'DEBUG_WRITE_TO_FILE', 'False'))) CONSOLE_LOG_LEVEL = str(os.environ.get('CONSOLE_LOG_LEVEL', 'INFO')) FILE_LOG_LEVEL = str(os.environ.get('FILE_LOG_LEVEL', 'INFO')) MIN_FREE_SPACE_GB = int(os.environ.get('MIN_FREE_SPACE_GB', 50)) # path = os.path.dirname(os.path.dirname(__file__)) # Disabled email notification subsystem # ORG_EMAIL = "@gmail.com" # FROM_EMAIL = os.environ.get('FROM_EMAIL') + ORG_EMAIL # FROM_PWD = os.environ.get('EMAIL_PASS') # SMTP_SERVER = "imap.gmail.com" # SMTP_PORT = 993 ALLOW_DELETE = strtobool(str(os.environ.get('ALLOW_DELETE', 'True'))) ALLOW_BACKUP = strtobool(str(os.environ.get('ALLOW_BACKUP', 'True'))) DEBUG_TEST = strtobool(str(os.environ.get('DEBUG_TEST', 'False'))) # SMTP_SERVER = os.environ.get('SMTP_SERVER', '') # FROM_EMAIL = os.environ.get('FROM_EMAIL', '') # FROM_PWD = os.environ.get('FROM_PWD', '') # OA user id with creds to access Bulk Upload VAPI endpoint and insert rows OA_USER_LOGIN = str(os.environ.get('OA_USER_LOGIN', '')) # TODO: Assets V2 # S3_UPLOAD_TOKEN = os.environ.get('S3_UPLOAD_TOKEN', 'bulk_upload') MOVE_LOCAL_FILES = strtobool(os.environ.get('MOVE_LOCAL_FILES', 'False'))