"""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-trigger-spatial-transcoding" QA_ENVIRONMENT = "qa" ENVIRONMENT = os.environ.get("ENVIRONMENT", QA_ENVIRONMENT) OWS_TRANSCODING_SERVICE_NAME = "ows-transcoding" POST_TRANSCODING_BY_PRESET_PATH = "/transcoding/preset/{preset_alias}" OWS_ASSETS_SERVICE_NAME = "ows-assets" POST_ASSET_STATUS_PATH = "/v2/asset/status" OWS_RETRIES = int(os.environ.get("OWS_RETRIES", 3)) OWS_TIMEOUT_SECONDS = int(os.environ.get("OWS_TIMEOUT_SECONDS", 30)) def _parse_logging_level(value: str | None) -> int: if value is None: return logging.INFO if value.isdigit(): return int(value) named_level = getattr(logging, value.upper(), None) if isinstance(named_level, int): return named_level return logging.INFO LOGGING_LEVEL = _parse_logging_level(os.environ.get("LOGGING_LEVEL")) logger = logging.getLogger() logger.setLevel(LOGGING_LEVEL) 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), AwsLambdaIntegration()], )