"""Common functions for type validation.""" from .constants import schema from .constants import transcoding_types def get_transcoding_type(s3_object): """Get transcoding and file types of s3 object. Args: s3_object (dict): Body of S3 object. Returns: tuple: transcoding type and file types """ mime_file_type = s3_object.get('ContentType').split(';')[0] transcoding_type = transcoding_types.UNKNOWN_TRANSCODING_TYPE if mime_file_type in transcoding_types.AUDIO_MIME_TYPES: transcoding_type = transcoding_types.AUDIO_TRANSCODING_TYPE elif mime_file_type in transcoding_types.IMAGE_MIME_TYPES: transcoding_type = transcoding_types.IMAGE_TRANSCODING_TYPE file_type = transcoding_types.FILE_TYPES.get( mime_file_type, transcoding_types.UNKNOWN_FILE_TYPE) return transcoding_type, file_type def validate_config(config): """Validate that an asset object has a configuration.""" return schema.Asset().load(config) def validate_lambda_event(event): """Validate that the lambda object.""" return schema.LambdaEvent().load(event) def validate_encoding_route_lambda_event(event): """Validate that the lambda object.""" return schema.EncodingRouteEvent().load(event)