source: server/lib/gutenbach/ipp/exceptions.py @ 7de0908

no-cups
Last change on this file since 7de0908 was 7de0908, checked in by Jessica B. Hamrick <jhamrick@…>, 12 years ago

Add an exception in ipp.exceptions for each error code

  • Property mode set to 100644
File size: 3.4 KB
Line 
1from .constants import ErrorCodes
2
3def error_code(func):
4    def set_code(val):
5        func.error_code = val
6        return func
7    return set_code
8
9class IPPException(Exception):
10    def __init__(self, message):
11        self.message = message
12
13    def __str__(self):
14        return self.message
15
16### Client error codes
17   
18@error_code(ErrorCodes.BAD_REQUEST)
19class BadRequest(IPPException):
20    pass
21
22@error_code(ErrorCodes.FORBIDDEN)
23class Forbidden(IPPException):
24    pass
25
26@error_code(ErrorCodes.NOT_AUTHENTICATED)
27class NotAuthenticated(IPPException):
28    pass
29
30@error_code(ErrorCodes.NOT_AUTHORIZED)
31class NotAuthorized(IPPException):
32    pass
33
34@error_code(ErrorCodes.NOT_POSSIBLE)
35class NotPossible(IPPException):
36    pass
37
38@error_code(ErrorCodes.TIMEOUT)
39class Timeout(IPPException):
40    pass
41
42@error_code(ErrorCodes.NOT_FOUND)
43class NotFound(IPPException):
44    pass
45
46@error_code(ErrorCodes.GONE)
47class Gone(IPPException):
48    pass
49
50@error_code(ErrorCodes.REQUEST_ENTITY)
51class RequestEntity(IPPException):
52    pass
53
54@error_code(ErrorCodes.REQUEST_VALUE)
55class RequestValue(IPPException):
56    pass
57
58@error_code(ErrorCodes.DOCUMENT_FORMAT)
59class DocumentFormat(IPPException):
60    pass
61
62@error_code(ErrorCodes.ATTRIBUTES)
63class Attributes(IPPException):
64
65    def __init__(self, message, attrs):
66        self.message = message
67        self.bad_attrs = attrs
68
69@error_code(ErrorCodes.URI_SCHEME)
70class UriScheme(IPPException):
71    pass
72
73@error_code(ErrorCodes.CHARSET)
74class Charset(IPPException):
75    pass
76
77@error_code(ErrorCodes.CONFLICT)
78class Conflict(IPPException):
79    pass
80
81@error_code(ErrorCodes.COMPRESSION_NOT_SUPPORTED)
82class CompressionNotSupported(IPPException):
83    pass
84
85@error_code(ErrorCodes.COMPRESSION_ERROR)
86class CompressionError(IPPException):
87    pass
88
89@error_code(ErrorCodes.DOCUMENT_FORMAT_ERROR)
90class DocumentFormatError(IPPException):
91    pass
92
93@error_code(ErrorCodes.DOCUMENT_ACCESS_ERROR)
94class DocumentAccessError(IPPException):
95    pass
96
97@error_code(ErrorCodes.ATTRIBUTES_NOT_SETTABLE)
98class AttributesNotSettable(IPPException):
99    pass
100
101@error_code(ErrorCodes.IGNORED_ALL_SUBSCRIPTIONS)
102class IgnoredAllSubscriptions(IPPException):
103    pass
104
105@error_code(ErrorCodes.TOO_MANY_SUBSCRIPTIONS)
106class TooManySubscriptions(IPPException):
107    pass
108
109@error_code(ErrorCodes.IGNORED_ALL_NOTIFICATIONS)
110class IgnoredAllNotifications(IPPException):
111    pass
112
113@error_code(ErrorCodes.PRINT_SUPPORT_FILE_NOT_FOUND)
114class PrintSupportFileNotFound(IPPException):
115    pass
116
117
118### Server error codes
119
120@error_code(ErrorCodes.INTERNAL_ERROR)
121class InternalError(IPPException):
122    pass
123
124@error_code(ErrorCodes.OPERATION_NOT_SUPPORTED)
125class OperationNotSupported(IPPException):
126    pass
127
128@error_code(ErrorCodes.SERVICE_UNAVAILABLE)
129class ServiceUnavailable(IPPException):
130    pass
131
132@error_code(ErrorCodes.VERSION_NOT_SUPPORTED)
133class VersionNotSupported(IPPException):
134    pass
135
136@error_code(ErrorCodes.DEVICE_ERROR)
137class DeviceError(IPPException):
138    pass
139
140@error_code(ErrorCodes.TEMPORARY_ERROR)
141class TemporaryError(IPPException):
142    pass
143
144@error_code(ErrorCodes.NOT_ACCEPTING)
145class NotAccepting(IPPException):
146    pass
147
148@error_code(ErrorCodes.PRINTER_BUSY)
149class PrinterBusy(IPPException):
150    pass
151
152@error_code(ErrorCodes.ERROR_JOB_CANCELLED)
153class ErrorJobCancelled(IPPException):
154    pass
155
156@error_code(ErrorCodes.MULTIPLE_JOBS_NOT_SUPPORTED)
157class MultipleJobsNotSupported(IPPException):
158    pass
159
160@error_code(ErrorCodes.PRINTER_IS_DEACTIVATED)
161class PrinterIsDeactivated(IPPException):
162    pass
Note: See TracBrowser for help on using the repository browser.