"""Application exceptions.""" class AppException(Exception): """Application level exception.""" exit_code = 1 class NoObjectsFound(AppException): """No objects found on s3.""" exit_code = 2 class NoWavAssetsFound(AppException): """No wav assets found on s3.""" exit_code = 3 class InvalidSpatialFilename(AppException): """Invalid filename for spatial file.""" exit_code = 4 class InvalidNotForDistributionFlag(AppException): """Invalid notForDistribution flag on spatial product.""" exit_code = 5 class InvalidNumberOfSpatialTracks(AppException): """Invalid number of spatial tracks on spatial product.""" exit_code = 6 class InvalidSpatialFileUpc(AppException): """Spatial file UPC is not valid.""" exit_code = 7 class StereoProductNotDeliveredToDMSError(AppException): """Stereo product has not been delivered to DMS.""" exit_code = 8 class NoStereoMatchForSpatialTrackVolumeIndex(AppException): """Spatial track volume/index doesn't map to stereo track volume/index.""" exit_code = 10 class DuplicateSpatialTrackIsrcError(AppException): """Duplicate track ISRC in filename on spatial product on S3.""" exit_code = 11 class StereoIsrcMatchesSpatialIsrcError(AppException): """At least one stereo ISRC erroneously matches a spatial ISRC.""" exit_code = 12 class NotXML(AppException): """Not XML.""" exit_code = 13 class NotExactlyOneMezzanineTifAsset(AppException): """Not exactly one mezzanine tif asset found.""" exit_code = 14 class MediaInfoNonZeroExit(AppException): """MediaInfo exited non-zero.""" exit_code = 15 class MediaInfoStderr(AppException): """MediaInfo sterr output.""" exit_code = 16 class DMSPackagerNotFound(AppException): """Unable to find packager for DMS.""" exit_code = 17 class GraphQLMetadataNotFound(AppException): """No metadata found for product in GraphQL.""" exit_code = 18 class MissingAudioTrack(AppException): """Audio track could not be found on spatial file.""" exit_code = 19 class MissingExtraMetadata(AppException): """Audio track missing dolby spatial metadata.""" exit_code = 20 class DuplicateSpatialFileIndexes(AppException): """Spatial files do not have unique indexes.""" exit_code = 21 class InvalidAudioChannelCount(AppException): """Invalid audio channels for spatial.""" exit_code = 22 class InvalidAudioMetadataFormat(AppException): """Invalid audio metadata for spatial.""" exit_code = 23 class InvalidAdmProfile(AppException): """Invalid adm profile for spatial.""" exit_code = 24 class InvalidAudioFormat(AppException): """Invalid audio format for spatial.""" exit_code = 25 class InvalidAudioBitDepth(AppException): """Invalid bit depth for spatial.""" exit_code = 26 class InvalidAudioSamplingRate(AppException): """Invalid audio sampling for spatial.""" exit_code = 27 class OutputDirectoryAlreadyExists(AppException): """Output bucket path already exists.""" exit_code = 28 class InvalidNumberOfSpatialFiles(AppException): """Spatial file count on s3 does not match spatial product.""" exit_code = 29 class XMLFetchFailedReleaseCarveout(AppException): """XML request to ows-metadata failed, carveout exists on release.""" exit_code = 30 class XMLFetchFailedLabelCarveout(AppException): """XML request to ows-metadata failed, carveout exists on label.""" exit_code = 31 class XMLFetchFailedSubaccountCarveout(AppException): """XML request to ows-metadata failed, carveout exists on subaccount.""" exit_code = 32 class XMLFetchFailedLabelDeleted(AppException): """XML request to ows-metadata failed, label deleted.""" exit_code = 33 class XMLFetchFailedLabelContractNotActive(AppException): """XML request to ows-metadata failed, label contract not active.""" exit_code = 34 class CopyAudioFileToOutputFailedError(AppException): """Unable to copy audio file to output directory.""" exit_code = 35