Changeset 5b3a81e


Ignore:
Timestamp:
Dec 20, 2011, 11:55:28 AM (12 years ago)
Author:
Jessica B. Hamrick <jhamrick@…>
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)
Message:

Don't use decorators on classes...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/lib/gutenbach/ipp/exceptions.py

    r7de0908 r5b3a81e  
    11from .constants import ErrorCodes
    2 
    3 def error_code(func):
    4     def set_code(val):
    5         func.error_code = val
    6         return func
    7     return set_code
    82
    93class IPPException(Exception):
     
    148        return self.message
    159
     10class 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
     17class 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   
    1624### Client error codes
    17    
    18 @error_code(ErrorCodes.BAD_REQUEST)
    19 class BadRequest(IPPException):
    20     pass
    2125
    22 @error_code(ErrorCodes.FORBIDDEN)
    23 class Forbidden(IPPException):
    24     pass
     26class BadRequest(IPPClientException):
     27    ipp_error_code = ErrorCodes.BAD_REQUEST)
    2528
    26 @error_code(ErrorCodes.NOT_AUTHENTICATED)
    27 class NotAuthenticated(IPPException):
    28     pass
     29class Forbidden(IPPClientException):
     30    ipp_error_code = ErrorCodes.FORBIDDEN)
    2931
    30 @error_code(ErrorCodes.NOT_AUTHORIZED)
    31 class NotAuthorized(IPPException):
    32     pass
     32class NotAuthenticated(IPPClientException):
     33    ipp_error_code = ErrorCodes.NOT_AUTHENTICATED)
    3334
    34 @error_code(ErrorCodes.NOT_POSSIBLE)
    35 class NotPossible(IPPException):
    36     pass
     35class NotAuthorized(IPPClientException):
     36    ipp_error_code = ErrorCodes.NOT_AUTHORIZED)
    3737
    38 @error_code(ErrorCodes.TIMEOUT)
    39 class Timeout(IPPException):
    40     pass
     38class NotPossible(IPPClientException):
     39    ipp_error_code = ErrorCodes.NOT_POSSIBLE)
    4140
    42 @error_code(ErrorCodes.NOT_FOUND)
    43 class NotFound(IPPException):
    44     pass
     41class Timeout(IPPClientException):
     42    ipp_error_code = ErrorCodes.TIMEOUT)
    4543
    46 @error_code(ErrorCodes.GONE)
    47 class Gone(IPPException):
    48     pass
     44class NotFound(IPPClientException):
     45    ipp_error_code = ErrorCodes.NOT_FOUND)
    4946
    50 @error_code(ErrorCodes.REQUEST_ENTITY)
    51 class RequestEntity(IPPException):
    52     pass
     47class Gone(IPPClientException):
     48    ipp_error_code = ErrorCodes.GONE)
    5349
    54 @error_code(ErrorCodes.REQUEST_VALUE)
    55 class RequestValue(IPPException):
    56     pass
     50class RequestEntity(IPPClientException):
     51    ipp_error_code = ErrorCodes.REQUEST_ENTITY)
    5752
    58 @error_code(ErrorCodes.DOCUMENT_FORMAT)
    59 class DocumentFormat(IPPException):
    60     pass
     53class RequestValue(IPPClientException):
     54    ipp_error_code = ErrorCodes.REQUEST_VALUE)
    6155
    62 @error_code(ErrorCodes.ATTRIBUTES)
    63 class Attributes(IPPException):
     56class DocumentFormatNotSupported(IPPClientException):
     57    ipp_error_code = ErrorCodes.DOCUMENT_FORMAT)
     58
     59class Attributes(IPPClientException):
     60    ipp_error_code = ErrorCodes.ATTRIBUTES)
    6461
    6562    def __init__(self, message, attrs):
     
    6764        self.bad_attrs = attrs
    6865
    69 @error_code(ErrorCodes.URI_SCHEME)
    70 class UriScheme(IPPException):
    71     pass
     66    def update_response(self, response):
     67        pass
    7268
    73 @error_code(ErrorCodes.CHARSET)
    74 class Charset(IPPException):
    75     pass
     69class UriSchemeNotSupported(IPPClientException):
     70    ipp_error_code = ErrorCodes.URI_SCHEME)
    7671
    77 @error_code(ErrorCodes.CONFLICT)
    78 class Conflict(IPPException):
    79     pass
     72class CharsetNotSupported(IPPClientException):
     73    ipp_error_code = ErrorCodes.CHARSET)
    8074
    81 @error_code(ErrorCodes.COMPRESSION_NOT_SUPPORTED)
    82 class CompressionNotSupported(IPPException):
    83     pass
     75class Conflict(IPPClientException):
     76    ipp_error_code = ErrorCodes.CONFLICT)
    8477
    85 @error_code(ErrorCodes.COMPRESSION_ERROR)
    86 class CompressionError(IPPException):
    87     pass
     78class CompressionNotSupported(IPPClientException):
     79    ipp_error_code = ErrorCodes.COMPRESSION_NOT_SUPPORTED)
    8880
    89 @error_code(ErrorCodes.DOCUMENT_FORMAT_ERROR)
    90 class DocumentFormatError(IPPException):
    91     pass
     81class CompressionError(IPPClientException):
     82    ipp_error_code = ErrorCodes.COMPRESSION_ERROR)
    9283
    93 @error_code(ErrorCodes.DOCUMENT_ACCESS_ERROR)
    94 class DocumentAccessError(IPPException):
    95     pass
     84class DocumentFormatError(IPPClientException):
     85    ipp_error_code = ErrorCodes.DOCUMENT_FORMAT_ERROR)
    9686
    97 @error_code(ErrorCodes.ATTRIBUTES_NOT_SETTABLE)
    98 class AttributesNotSettable(IPPException):
    99     pass
     87class DocumentAccessError(IPPClientException):
     88    ipp_error_code = ErrorCodes.DOCUMENT_ACCESS_ERROR)
    10089
    101 @error_code(ErrorCodes.IGNORED_ALL_SUBSCRIPTIONS)
    102 class IgnoredAllSubscriptions(IPPException):
    103     pass
     90class AttributesNotSettable(IPPClientException):
     91    ipp_error_code = ErrorCodes.ATTRIBUTES_NOT_SETTABLE)
    10492
    105 @error_code(ErrorCodes.TOO_MANY_SUBSCRIPTIONS)
    106 class TooManySubscriptions(IPPException):
    107     pass
     93class IgnoredAllSubscriptions(IPPClientException):
     94    ipp_error_code = ErrorCodes.IGNORED_ALL_SUBSCRIPTIONS)
    10895
    109 @error_code(ErrorCodes.IGNORED_ALL_NOTIFICATIONS)
    110 class IgnoredAllNotifications(IPPException):
    111     pass
     96class TooManySubscriptions(IPPClientException):
     97    ipp_error_code = ErrorCodes.TOO_MANY_SUBSCRIPTIONS)
    11298
    113 @error_code(ErrorCodes.PRINT_SUPPORT_FILE_NOT_FOUND)
    114 class PrintSupportFileNotFound(IPPException):
    115     pass
     99class IgnoredAllNotifications(IPPClientException):
     100    ipp_error_code = ErrorCodes.IGNORED_ALL_NOTIFICATIONS)
    116101
     102class PrintSupportFileNotFound(IPPClientException):
     103    ipp_error_code = ErrorCodes.PRINT_SUPPORT_FILE_NOT_FOUND)
    117104
    118105### Server error codes
    119106
    120 @error_code(ErrorCodes.INTERNAL_ERROR)
    121 class InternalError(IPPException):
    122     pass
     107class InternalError(IPPServerException):
     108    ipp_error_code = ErrorCodes.INTERNAL_ERROR)
    123109
    124 @error_code(ErrorCodes.OPERATION_NOT_SUPPORTED)
    125 class OperationNotSupported(IPPException):
    126     pass
     110class OperationNotSupported(IPPServerException):
     111    ipp_error_code = ErrorCodes.OPERATION_NOT_SUPPORTED)
    127112
    128 @error_code(ErrorCodes.SERVICE_UNAVAILABLE)
    129 class ServiceUnavailable(IPPException):
    130     pass
     113class ServiceUnavailable(IPPServerException):
     114    ipp_error_code = ErrorCodes.SERVICE_UNAVAILABLE)
    131115
    132 @error_code(ErrorCodes.VERSION_NOT_SUPPORTED)
    133 class VersionNotSupported(IPPException):
    134     pass
     116class VersionNotSupported(IPPServerException):
     117    ipp_error_code = ErrorCodes.VERSION_NOT_SUPPORTED)
    135118
    136 @error_code(ErrorCodes.DEVICE_ERROR)
    137 class DeviceError(IPPException):
    138     pass
     119class DeviceError(IPPServerException):
     120    ipp_error_code = ErrorCodes.DEVICE_ERROR)
    139121
    140 @error_code(ErrorCodes.TEMPORARY_ERROR)
    141 class TemporaryError(IPPException):
    142     pass
     122class TemporaryError(IPPServerException):
     123    ipp_error_code = ErrorCodes.TEMPORARY_ERROR)
    143124
    144 @error_code(ErrorCodes.NOT_ACCEPTING)
    145 class NotAccepting(IPPException):
    146     pass
     125class NotAccepting(IPPServerException):
     126    ipp_error_code = ErrorCodes.NOT_ACCEPTING)
    147127
    148 @error_code(ErrorCodes.PRINTER_BUSY)
    149 class PrinterBusy(IPPException):
    150     pass
     128class PrinterBusy(IPPServerException):
     129    ipp_error_code = ErrorCodes.PRINTER_BUSY)
    151130
    152 @error_code(ErrorCodes.ERROR_JOB_CANCELLED)
    153 class ErrorJobCancelled(IPPException):
    154     pass
     131class ErrorJobCancelled(IPPServerException):
     132    ipp_error_code = ErrorCodes.ERROR_JOB_CANCELLED)
    155133
    156 @error_code(ErrorCodes.MULTIPLE_JOBS_NOT_SUPPORTED)
    157 class MultipleJobsNotSupported(IPPException):
    158     pass
     134class MultipleJobsNotSupported(IPPServerException):
     135    ipp_error_code = ErrorCodes.MULTIPLE_JOBS_NOT_SUPPORTED)
    159136
    160 @error_code(ErrorCodes.PRINTER_IS_DEACTIVATED)
    161 class PrinterIsDeactivated(IPPException):
    162     pass
     137class PrinterIsDeactivated(IPPServerException):
     138    ipp_error_code = ErrorCodes.PRINTER_IS_DEACTIVATED)
Note: See TracChangeset for help on using the changeset viewer.