Download exceptions.py from marvin-cusm-chatbot/champ-chatbot: direct link, hf CLI and curl.
- Browser
- Download file 3.22 kB
-
https://huggingface.co/spaces/marvin-cusm-chatbot/champ-chatbot/resolve/main/exceptions.py
- Command line
-
hf download hf://spaces/marvin-cusm-chatbot/champ-chatbot/exceptions.py
-
curl -L -o exceptions.py https://huggingface.co/spaces/marvin-cusm-chatbot/champ-chatbot/resolve/main/exceptions.py
3.22 kB
| from enum import Enum | |
| from constants import ( | |
| STATUS_CODE_BAD_REQUEST, | |
| STATUS_CODE_CONFLICT, | |
| STATUS_CODE_CONTENT_TOO_LARGE, | |
| STATUS_CODE_EXCEED_SIZE_LIMIT, | |
| STATUS_CODE_INTERNAL_SERVER_ERROR, | |
| STATUS_CODE_LENGTH_REQUIRED, | |
| STATUS_CODE_UNSUPPORTED_MEDIA_TYPE, | |
| ) | |
| class FileValidationError(Enum): | |
| MISSING_SIZE = "MISSING_SIZE" | |
| FILE_TOO_LARGE = "FILE_TOO_LARGE" | |
| MISSING_FILE_NAME = "MISSING_FILE_NAME" | |
| FILE_NAME_TOO_LARGE = "FILE_NAME_TOO_LARGE" | |
| INVALID_FILE_NAME = "INVALID_FILE_NAME" | |
| INVALID_MIME_TYPE = "INVALID_MIME_TYPE" | |
| UNSUPPORTED_EXTENSION = "UNSUPPORTED_EXTENSION" | |
| EMPTY_FILE = "EMPTY_FILE" | |
| class FileValidationException(Exception): | |
| def __init__(self, error: FileValidationError): | |
| self.error = error | |
| FILE_VALIDATION_ERROR_STATUS_CODES = { | |
| FileValidationError.MISSING_SIZE: STATUS_CODE_LENGTH_REQUIRED, | |
| FileValidationError.FILE_TOO_LARGE: STATUS_CODE_CONTENT_TOO_LARGE, | |
| FileValidationError.MISSING_FILE_NAME: STATUS_CODE_BAD_REQUEST, | |
| FileValidationError.FILE_NAME_TOO_LARGE: STATUS_CODE_BAD_REQUEST, | |
| FileValidationError.INVALID_FILE_NAME: STATUS_CODE_BAD_REQUEST, | |
| FileValidationError.INVALID_MIME_TYPE: STATUS_CODE_UNSUPPORTED_MEDIA_TYPE, | |
| FileValidationError.UNSUPPORTED_EXTENSION: STATUS_CODE_UNSUPPORTED_MEDIA_TYPE, | |
| FileValidationError.EMPTY_FILE: STATUS_CODE_BAD_REQUEST, | |
| } | |
| class FileExtractionError(Enum): | |
| INVALID_MIME_TYPE = "INVALID_MIME_TYPE" | |
| NO_TEXT = "NO_TEXT" | |
| TEXT_EXTRACTION_TIMEOUT = "TEXT_EXTRACTION_TIMEOUT" | |
| UNSAFE_ZIP = "UNSAFE_ZIP" | |
| FILE_TOO_LARGE = "FILE_TOO_LARGE" | |
| MALFORMED_FILE = "MALFORMED_FILE" | |
| TEXT_TOO_LARGE = "TEXT_TOO_LARGE" | |
| class FileExtractionException(Exception): | |
| def __init__(self, error: FileExtractionError): | |
| self.error = error | |
| FILE_EXTRACTION_ERROR_STATUS_CODES = { | |
| FileExtractionError.INVALID_MIME_TYPE: STATUS_CODE_UNSUPPORTED_MEDIA_TYPE, | |
| FileExtractionError.NO_TEXT: STATUS_CODE_BAD_REQUEST, | |
| FileExtractionError.TEXT_EXTRACTION_TIMEOUT: STATUS_CODE_INTERNAL_SERVER_ERROR, | |
| FileExtractionError.UNSAFE_ZIP: STATUS_CODE_INTERNAL_SERVER_ERROR, | |
| FileExtractionError.FILE_TOO_LARGE: STATUS_CODE_CONTENT_TOO_LARGE, | |
| FileExtractionError.MALFORMED_FILE: STATUS_CODE_BAD_REQUEST, | |
| FileExtractionError.TEXT_TOO_LARGE: STATUS_CODE_EXCEED_SIZE_LIMIT, | |
| } | |
| class FileDocumentStoreError(Enum): | |
| FILE_ALREADY_EXISTS = "FILE_ALREADY_EXISTS" | |
| EXCEED_MAX_FILE_SIZE = "EXCEED_MAX_FILE_SIZE" | |
| class FileDocumentStoreException(Exception): | |
| def __init__(self, error: FileDocumentStoreError): | |
| self.error = error | |
| FILE_DOCUMENT_STORE_ERROR_STATUS_CODES = { | |
| FileDocumentStoreError.FILE_ALREADY_EXISTS: STATUS_CODE_CONFLICT, | |
| FileDocumentStoreError.EXCEED_MAX_FILE_SIZE: STATUS_CODE_EXCEED_SIZE_LIMIT, | |
| } | |
| # A conversation that doesn't exist, or belongs to another user. | |
| class UnknownConversationException(Exception): | |
| pass | |
| # A turn's history over DynamoDB's 400 KB item limit, which can't be stored. | |
| class TurnTooLargeException(Exception): | |
| pass | |
| # A turn number already stored: two messages of one conversation arrived at the same moment. | |
| class TurnAlreadySavedException(Exception): | |
| pass | |