"""Common configuration.""" import logging import os import sentry_sdk from sentry_sdk.integrations.aws_lambda import AwsLambdaIntegration from sentry_sdk.integrations.logging import LoggingIntegration APPLICATION_NAME = 'lambda-assets-audio-validation' # Environment setup QA_ENVIRONMENT = 'qa' PROD_ENVIRONMENT = 'prod' ENVIRONMENT = os.environ.get('ENVIRONMENT', QA_ENVIRONMENT) EXPECTED_BUCKET_OWNER = os.environ.get('EXPECTED_BUCKET_OWNER') assert EXPECTED_BUCKET_OWNER is not None, 'EXPECTED_BUCKET_OWNER must be set.' OWS_ASSETS_SERVICE_NAME = 'ows-assets' POST_ASSET_STATUS_PATH = '/v2/asset/status' OWS_RETRIES = int(os.environ.get('OWS_RETRIES', 3)) OWS_TIMEOUT = int(os.environ.get('OWS_TIMEOUT', 30)) OWS_TRANSCODING_SERVICE_NAME = 'ows-transcoding' POST_TRANSCODING_BY_PRESET_PATH = '/transcoding/preset/{preset_alias}' # Logger configuration LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', logging.INFO) logger = logging.getLogger() logger.setLevel(LOGGING_LEVEL) # mediainfo config LAMBDA_TASK_ROOT = os.environ.get('LAMBDA_TASK_ROOT') DEFAULT_MEDIAINFO_PATH = '{root}/src/bin/mediainfo'.format( root=LAMBDA_TASK_ROOT) MEDIAINFO_PATH = os.environ.get('MEDIAINFO_PATH', DEFAULT_MEDIAINFO_PATH) MEDIAINFO_CMD = [MEDIAINFO_PATH, '-f', '--Output=JSON'] # validation config MIN_DURATION_MS = int(os.environ.get('MIN_DURATION_MS', 0)) # Sentry Config SENTRY_DSN = os.environ.get('SENTRY_DSN') or None if SENTRY_DSN: sentry_sdk.init( dsn=SENTRY_DSN, environment=ENVIRONMENT, integrations=[ LoggingIntegration( level=LOGGING_LEVEL, event_level=None # Don't send error log as sentry event. ), AwsLambdaIntegration() ])