You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

84 line
2.5 KiB

  1. # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
  2. # MIT License. See license.txt
  3. from __future__ import unicode_literals
  4. # BEWARE don't put anything in this file except exceptions
  5. from werkzeug.exceptions import NotFound
  6. from MySQLdb import ProgrammingError as SQLError, Error
  7. from MySQLdb import OperationalError as DatabaseOperationalError
  8. class ValidationError(Exception):
  9. http_status_code = 417
  10. class AuthenticationError(Exception):
  11. http_status_code = 401
  12. class SessionExpired(Exception):
  13. http_status_code = 401
  14. class PermissionError(Exception):
  15. http_status_code = 403
  16. class DoesNotExistError(ValidationError):
  17. http_status_code = 404
  18. class NameError(Exception):
  19. http_status_code = 409
  20. class OutgoingEmailError(Exception):
  21. http_status_code = 501
  22. class SessionStopped(Exception):
  23. http_status_code = 503
  24. class UnsupportedMediaType(Exception):
  25. http_status_code = 415
  26. class Redirect(Exception):
  27. http_status_code = 301
  28. class CSRFTokenError(Exception):
  29. http_status_code = 400
  30. class ImproperDBConfigurationError(Error):
  31. """
  32. Used when frappe detects that database or tables are not properly
  33. configured
  34. """
  35. def __init__(self, reason, msg=None):
  36. if not msg:
  37. msg = "MariaDb is not properly configured"
  38. super(ImproperDBConfigurationError, self).__init__(msg)
  39. self.reason = reason
  40. class DuplicateEntryError(NameError):pass
  41. class DataError(ValidationError): pass
  42. class UnknownDomainError(Exception): pass
  43. class MappingMismatchError(ValidationError): pass
  44. class InvalidStatusError(ValidationError): pass
  45. class MandatoryError(ValidationError): pass
  46. class InvalidSignatureError(ValidationError): pass
  47. class RateLimitExceededError(ValidationError): pass
  48. class CannotChangeConstantError(ValidationError): pass
  49. class CharacterLengthExceededError(ValidationError): pass
  50. class UpdateAfterSubmitError(ValidationError): pass
  51. class LinkValidationError(ValidationError): pass
  52. class CancelledLinkError(LinkValidationError): pass
  53. class DocstatusTransitionError(ValidationError): pass
  54. class TimestampMismatchError(ValidationError): pass
  55. class EmptyTableError(ValidationError): pass
  56. class LinkExistsError(ValidationError): pass
  57. class InvalidEmailAddressError(ValidationError): pass
  58. class TemplateNotFoundError(ValidationError): pass
  59. class UniqueValidationError(ValidationError): pass
  60. class AppNotInstalledError(ValidationError): pass
  61. class IncorrectSitePath(NotFound): pass
  62. class ImplicitCommitError(ValidationError): pass
  63. class RetryBackgroundJobError(Exception): pass
  64. class DocumentLockedError(ValidationError): pass