Changeset 5b3a81e
- Timestamp:
- Dec 20, 2011, 11:55:28 AM (12 years ago)
- Branches:
- no-cups
- Children:
- dc40fe9
- Parents:
- 08a764a
- git-author:
- Jessica B. Hamrick <jhamrick@…> (12/20/11 11:55:28)
- git-committer:
- Jessica B. Hamrick <jhamrick@…> (12/20/11 11:55:28)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/lib/gutenbach/ipp/exceptions.py
r7de0908 r5b3a81e 1 1 from .constants import ErrorCodes 2 3 def error_code(func):4 def set_code(val):5 func.error_code = val6 return func7 return set_code8 2 9 3 class IPPException(Exception): … … 14 8 return self.message 15 9 10 class IPPClientException(IPPException): 11 def update_response(self, response): 12 if hasattr(self, "ipp_error_code"): 13 response.operation_id = self.ipp_error_code 14 else: 15 response.operation_id = ErrorCodes.BAD_REQUEST 16 17 class IPPServerException(IPPException): 18 def update_response(self, response): 19 if hasattr(self, "ipp_error_code"): 20 response.operation_id = self.ipp_error_code 21 else: 22 response.operation_id = ErrorCodes.INTERNAL_ERROR 23 16 24 ### Client error codes 17 18 @error_code(ErrorCodes.BAD_REQUEST)19 class BadRequest(IPPException):20 pass21 25 22 @error_code(ErrorCodes.FORBIDDEN) 23 class Forbidden(IPPException): 24 pass 26 class BadRequest(IPPClientException): 27 ipp_error_code = ErrorCodes.BAD_REQUEST) 25 28 26 @error_code(ErrorCodes.NOT_AUTHENTICATED) 27 class NotAuthenticated(IPPException): 28 pass 29 class Forbidden(IPPClientException): 30 ipp_error_code = ErrorCodes.FORBIDDEN) 29 31 30 @error_code(ErrorCodes.NOT_AUTHORIZED) 31 class NotAuthorized(IPPException): 32 pass 32 class NotAuthenticated(IPPClientException): 33 ipp_error_code = ErrorCodes.NOT_AUTHENTICATED) 33 34 34 @error_code(ErrorCodes.NOT_POSSIBLE) 35 class NotPossible(IPPException): 36 pass 35 class NotAuthorized(IPPClientException): 36 ipp_error_code = ErrorCodes.NOT_AUTHORIZED) 37 37 38 @error_code(ErrorCodes.TIMEOUT) 39 class Timeout(IPPException): 40 pass 38 class NotPossible(IPPClientException): 39 ipp_error_code = ErrorCodes.NOT_POSSIBLE) 41 40 42 @error_code(ErrorCodes.NOT_FOUND) 43 class NotFound(IPPException): 44 pass 41 class Timeout(IPPClientException): 42 ipp_error_code = ErrorCodes.TIMEOUT) 45 43 46 @error_code(ErrorCodes.GONE) 47 class Gone(IPPException): 48 pass 44 class NotFound(IPPClientException): 45 ipp_error_code = ErrorCodes.NOT_FOUND) 49 46 50 @error_code(ErrorCodes.REQUEST_ENTITY) 51 class RequestEntity(IPPException): 52 pass 47 class Gone(IPPClientException): 48 ipp_error_code = ErrorCodes.GONE) 53 49 54 @error_code(ErrorCodes.REQUEST_VALUE) 55 class RequestValue(IPPException): 56 pass 50 class RequestEntity(IPPClientException): 51 ipp_error_code = ErrorCodes.REQUEST_ENTITY) 57 52 58 @error_code(ErrorCodes.DOCUMENT_FORMAT) 59 class DocumentFormat(IPPException): 60 pass 53 class RequestValue(IPPClientException): 54 ipp_error_code = ErrorCodes.REQUEST_VALUE) 61 55 62 @error_code(ErrorCodes.ATTRIBUTES) 63 class Attributes(IPPException): 56 class DocumentFormatNotSupported(IPPClientException): 57 ipp_error_code = ErrorCodes.DOCUMENT_FORMAT) 58 59 class Attributes(IPPClientException): 60 ipp_error_code = ErrorCodes.ATTRIBUTES) 64 61 65 62 def __init__(self, message, attrs): … … 67 64 self.bad_attrs = attrs 68 65 69 @error_code(ErrorCodes.URI_SCHEME) 70 class UriScheme(IPPException): 71 pass 66 def update_response(self, response): 67 pass 72 68 73 @error_code(ErrorCodes.CHARSET) 74 class Charset(IPPException): 75 pass 69 class UriSchemeNotSupported(IPPClientException): 70 ipp_error_code = ErrorCodes.URI_SCHEME) 76 71 77 @error_code(ErrorCodes.CONFLICT) 78 class Conflict(IPPException): 79 pass 72 class CharsetNotSupported(IPPClientException): 73 ipp_error_code = ErrorCodes.CHARSET) 80 74 81 @error_code(ErrorCodes.COMPRESSION_NOT_SUPPORTED) 82 class CompressionNotSupported(IPPException): 83 pass 75 class Conflict(IPPClientException): 76 ipp_error_code = ErrorCodes.CONFLICT) 84 77 85 @error_code(ErrorCodes.COMPRESSION_ERROR) 86 class CompressionError(IPPException): 87 pass 78 class CompressionNotSupported(IPPClientException): 79 ipp_error_code = ErrorCodes.COMPRESSION_NOT_SUPPORTED) 88 80 89 @error_code(ErrorCodes.DOCUMENT_FORMAT_ERROR) 90 class DocumentFormatError(IPPException): 91 pass 81 class CompressionError(IPPClientException): 82 ipp_error_code = ErrorCodes.COMPRESSION_ERROR) 92 83 93 @error_code(ErrorCodes.DOCUMENT_ACCESS_ERROR) 94 class DocumentAccessError(IPPException): 95 pass 84 class DocumentFormatError(IPPClientException): 85 ipp_error_code = ErrorCodes.DOCUMENT_FORMAT_ERROR) 96 86 97 @error_code(ErrorCodes.ATTRIBUTES_NOT_SETTABLE) 98 class AttributesNotSettable(IPPException): 99 pass 87 class DocumentAccessError(IPPClientException): 88 ipp_error_code = ErrorCodes.DOCUMENT_ACCESS_ERROR) 100 89 101 @error_code(ErrorCodes.IGNORED_ALL_SUBSCRIPTIONS) 102 class IgnoredAllSubscriptions(IPPException): 103 pass 90 class AttributesNotSettable(IPPClientException): 91 ipp_error_code = ErrorCodes.ATTRIBUTES_NOT_SETTABLE) 104 92 105 @error_code(ErrorCodes.TOO_MANY_SUBSCRIPTIONS) 106 class TooManySubscriptions(IPPException): 107 pass 93 class IgnoredAllSubscriptions(IPPClientException): 94 ipp_error_code = ErrorCodes.IGNORED_ALL_SUBSCRIPTIONS) 108 95 109 @error_code(ErrorCodes.IGNORED_ALL_NOTIFICATIONS) 110 class IgnoredAllNotifications(IPPException): 111 pass 96 class TooManySubscriptions(IPPClientException): 97 ipp_error_code = ErrorCodes.TOO_MANY_SUBSCRIPTIONS) 112 98 113 @error_code(ErrorCodes.PRINT_SUPPORT_FILE_NOT_FOUND) 114 class PrintSupportFileNotFound(IPPException): 115 pass 99 class IgnoredAllNotifications(IPPClientException): 100 ipp_error_code = ErrorCodes.IGNORED_ALL_NOTIFICATIONS) 116 101 102 class PrintSupportFileNotFound(IPPClientException): 103 ipp_error_code = ErrorCodes.PRINT_SUPPORT_FILE_NOT_FOUND) 117 104 118 105 ### Server error codes 119 106 120 @error_code(ErrorCodes.INTERNAL_ERROR) 121 class InternalError(IPPException): 122 pass 107 class InternalError(IPPServerException): 108 ipp_error_code = ErrorCodes.INTERNAL_ERROR) 123 109 124 @error_code(ErrorCodes.OPERATION_NOT_SUPPORTED) 125 class OperationNotSupported(IPPException): 126 pass 110 class OperationNotSupported(IPPServerException): 111 ipp_error_code = ErrorCodes.OPERATION_NOT_SUPPORTED) 127 112 128 @error_code(ErrorCodes.SERVICE_UNAVAILABLE) 129 class ServiceUnavailable(IPPException): 130 pass 113 class ServiceUnavailable(IPPServerException): 114 ipp_error_code = ErrorCodes.SERVICE_UNAVAILABLE) 131 115 132 @error_code(ErrorCodes.VERSION_NOT_SUPPORTED) 133 class VersionNotSupported(IPPException): 134 pass 116 class VersionNotSupported(IPPServerException): 117 ipp_error_code = ErrorCodes.VERSION_NOT_SUPPORTED) 135 118 136 @error_code(ErrorCodes.DEVICE_ERROR) 137 class DeviceError(IPPException): 138 pass 119 class DeviceError(IPPServerException): 120 ipp_error_code = ErrorCodes.DEVICE_ERROR) 139 121 140 @error_code(ErrorCodes.TEMPORARY_ERROR) 141 class TemporaryError(IPPException): 142 pass 122 class TemporaryError(IPPServerException): 123 ipp_error_code = ErrorCodes.TEMPORARY_ERROR) 143 124 144 @error_code(ErrorCodes.NOT_ACCEPTING) 145 class NotAccepting(IPPException): 146 pass 125 class NotAccepting(IPPServerException): 126 ipp_error_code = ErrorCodes.NOT_ACCEPTING) 147 127 148 @error_code(ErrorCodes.PRINTER_BUSY) 149 class PrinterBusy(IPPException): 150 pass 128 class PrinterBusy(IPPServerException): 129 ipp_error_code = ErrorCodes.PRINTER_BUSY) 151 130 152 @error_code(ErrorCodes.ERROR_JOB_CANCELLED) 153 class ErrorJobCancelled(IPPException): 154 pass 131 class ErrorJobCancelled(IPPServerException): 132 ipp_error_code = ErrorCodes.ERROR_JOB_CANCELLED) 155 133 156 @error_code(ErrorCodes.MULTIPLE_JOBS_NOT_SUPPORTED) 157 class MultipleJobsNotSupported(IPPException): 158 pass 134 class MultipleJobsNotSupported(IPPServerException): 135 ipp_error_code = ErrorCodes.MULTIPLE_JOBS_NOT_SUPPORTED) 159 136 160 @error_code(ErrorCodes.PRINTER_IS_DEACTIVATED) 161 class PrinterIsDeactivated(IPPException): 162 pass 137 class PrinterIsDeactivated(IPPServerException): 138 ipp_error_code = ErrorCodes.PRINTER_IS_DEACTIVATED)
Note: See TracChangeset
for help on using the changeset viewer.