"""Config file for image-encoding lambda.""" 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-image-encoding' DEV_ENVIRONMENT = 'dev' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) EXPECTED_BUCKET_OWNER = os.environ.get('EXPECTED_BUCKET_OWNER') assert EXPECTED_BUCKET_OWNER is not None, 'EXPECTED_BUCKET_OWNER must be set.' # Url endpoints configuration OWS_ASSETS_SERVICE_NAME = 'ows-assets' POST_ASSET_STATUS_PATH = '/v2/asset/status' POST_ASSET_FINAL_PATH = '/v2/asset/final' OWS_RETRIES = int(os.environ.get('OWS_RETRIES', 3)) OWS_TIMEOUT = int(os.environ.get('OWS_TIMEOUT', 30)) # Logger configuration LOGGING_LEVEL = os.environ.get('LOGGING_LEVEL', logging.INFO) logger = logging.getLogger() logger.setLevel(LOGGING_LEVEL) # 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() ]) PREVIEW_OUTPUT_BUCKET_NAME = os.environ.get( 'PREVIEW_OUTPUT_BUCKET_NAME', 'preview_output_dev') OUTPUT_BUCKET_NAME = os.environ.get('OUTPUT_BUCKET_NAME', 'output_dev') BASE_TRANSCODE_OUTPUT_CONFIG = [ { 'pillow_image_save_params': { 'format': 'JPEG', 'quality': 95, 'optimize': True, 'progressive': True, 'subsampling': 0, }, 'extension': 'jpeg', 'size': (110, 110), 'preview': True, 'asset_type': 'JPG', 'asset_subtype': 'cover' }, { 'pillow_image_save_params': { 'format': 'JPEG', 'quality': 95, 'optimize': True, 'progressive': True, 'subsampling': 0, }, 'extension': 'jpeg', 'size': (360, 360), 'preview': True, 'asset_type': 'JPG', 'asset_subtype': 'large_cover' }, { 'pillow_image_save_params': { 'format': 'JPEG', 'quality': 95, 'optimize': True, 'progressive': True, 'subsampling': 0, }, 'extension': 'jpeg', 'size': (2000, 2000), 'preview': True, 'asset_type': 'JPG', 'asset_subtype': 'xlarge_cover' }, { 'pillow_image_save_params': { 'format': 'TIFF', }, 'extension': 'tif', 'size': None, 'preview': False, 'asset_type': 'TIF' } ]