"""Constants for errors/exceptions.""" # cloudwatch CLOUDWATCH_EVENT_ERROR = 'cloudwatch_event_error' # s3 S3_FILE_NOT_FOUND_CODE = 's3_file_not_found' S3_METADATA_VALIDATION_ERROR_CODE = 's3_metadata_validation_error' S3_METADATA_MISSING_CODE = 's3_metadata_missing' S3_ERROR_CODE = 's3_error' # acknowledge POST_ASSET_ERROR_CODE = 'post_asset_error' ASSET_CONFIG_ERROR = 'asset_config_error' ACKNOWLEDGE_ERROR_CODE = 'acknowledge_error' # all other exceptions in acknowledge # encoding route ASSET_TYPE_ROUTING_ERROR_CODE = 'unsupported_asset_type' ASSET_ROUTING_ERROR_CODE = 'routing_error' # all other exceptions in encoding_route # image validation IMAGE_TOO_SMALL_DIMENSIONS_CODE = 'image_too_small_dimensions_error' IMAGE_TOO_LARGE_DIMENSIONS_CODE = 'image_too_large_dimensions_error' IMAGE_WRONG_ASPECT_RATIO_CODE = 'image_wrong_aspect_ratio_error' IMAGE_INVALID_MODE_CODE = 'image_invalid_mode' IMAGE_INVALID_FILE_CODE = 'image_invalid_file' IMAGE_VALIDATION_ERROR_CODE = 'image_validation_error' # all other exceptions in image_validation # image encoding IMAGE_ENCODING_ERROR_CODE = 'image_encoding_error' # audio validation AUDIO_CHANNEL_MODE_ERROR = 'audio_channel_mode_error' AUDIO_VALIDATION_ERROR_CODE = 'audio_validation_error' # audio waveform AUDIO_WAVEFORM_ERROR_CODE = 'audio_waveform_error' # general LAMBDA_EVENT_ERROR = 'lambda_event_error' # mapping error codes to messages ERROR_MESSAGES = { CLOUDWATCH_EVENT_ERROR: 'Cloudwatch event does not have the key or bucketName provided: {event}', S3_FILE_NOT_FOUND_CODE: '{key} not found in bucket {bucket}!', S3_METADATA_VALIDATION_ERROR_CODE: '{filename} object (bucket {bucket}) has invalid metadata: {message}', S3_METADATA_MISSING_CODE: 'Metadata not found in {filename} object (bucket {bucket})', S3_ERROR_CODE: 'S3 Error {code} {message}', POST_ASSET_ERROR_CODE: 'post asset failed with code {code} {response}', ACKNOWLEDGE_ERROR_CODE: 'An error occurred during the acknowledge. Error message: {message}', ASSET_TYPE_ROUTING_ERROR_CODE: 'Unsupported asset transcoding type ({transcoding_type}) or file type ({file_type})', ASSET_ROUTING_ERROR_CODE: 'An error occurred during routing process. Error message: {message}', IMAGE_TOO_SMALL_DIMENSIONS_CODE: 'Image dimensions are too small', IMAGE_TOO_LARGE_DIMENSIONS_CODE: 'Image dimensions are too large', IMAGE_WRONG_ASPECT_RATIO_CODE: 'Image has non-square aspect ratio', IMAGE_INVALID_MODE_CODE: 'Image has invalid color mode: {message}', IMAGE_INVALID_FILE_CODE: 'Image is an invalid file: {message}', IMAGE_VALIDATION_ERROR_CODE: 'An error occurred during image validation: Error message: {message}', IMAGE_ENCODING_ERROR_CODE: 'An error occurred during image encoding. Error message: {message}', AUDIO_VALIDATION_ERROR_CODE: 'An error occurred during the audio validation. Error message: {message}', AUDIO_CHANNEL_MODE_ERROR: 'Can not define channel mode for: {channels}', AUDIO_WAVEFORM_ERROR_CODE: 'An error occurred during the audio waveform generation. Error message: {message}', ASSET_CONFIG_ERROR: 'The asset does not have a proper configuration. Config: {message}', LAMBDA_EVENT_ERROR: 'Lambda event from previous step is invalid. {message}' } ERROR_MEDIAINFO_EMPTY_OUTPUT_MESSAGE = 'Unable to read asset file technical and tag data'