85 lines
2.0 KiB
Python
85 lines
2.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
__author__ = "Abhinav Sarkar <abhinav@abhinavsarkar.net>"
|
|
__version__ = "0.2"
|
|
__license__ = "GNU Lesser General Public License"
|
|
|
|
class LastfmError(Exception):
|
|
"""Base class for Lastfm errors"""
|
|
def __init__(self,
|
|
message = None,
|
|
code = None):
|
|
super(LastfmError, self).__init__()
|
|
self._code = code
|
|
self._message = message
|
|
|
|
@property
|
|
def code(self):
|
|
return self._code
|
|
|
|
@property
|
|
def message(self):
|
|
return self._message
|
|
|
|
def __str__(self):
|
|
return "%s" % self.message
|
|
|
|
class InvalidServiceError(LastfmError):#2
|
|
pass
|
|
|
|
class InvalidMethodError(LastfmError):#3
|
|
pass
|
|
|
|
class AuthenticationFailedError(LastfmError):#4
|
|
pass
|
|
|
|
class InvalidFormatError(LastfmError):#5
|
|
pass
|
|
|
|
class InvalidParametersError(LastfmError):#6
|
|
pass
|
|
|
|
class InvalidResourceError(LastfmError):#7
|
|
pass
|
|
|
|
class OperationFailedError(LastfmError):#8
|
|
pass
|
|
|
|
class InvalidSessionKeyError(LastfmError):#9
|
|
pass
|
|
|
|
class InvalidApiKeyError(LastfmError):#10
|
|
pass
|
|
|
|
class ServiceOfflineError(LastfmError):#11
|
|
pass
|
|
|
|
class SubscribersOnlyError(LastfmError):#12
|
|
pass
|
|
|
|
class InvalidMethodSignatureError(LastfmError):#13
|
|
pass
|
|
|
|
class TokenNotAuthorizedError(LastfmError):#14
|
|
pass
|
|
|
|
class TokenExpiredError(LastfmError):#15
|
|
pass
|
|
|
|
error_map = {
|
|
1: LastfmError,
|
|
2: InvalidServiceError,
|
|
3: InvalidMethodError,
|
|
4: AuthenticationFailedError,
|
|
5: InvalidFormatError,
|
|
6: InvalidParametersError,
|
|
7: InvalidResourceError,
|
|
8: OperationFailedError,
|
|
9: InvalidSessionKeyError,
|
|
10: InvalidApiKeyError,
|
|
11: ServiceOfflineError,
|
|
12: SubscribersOnlyError,
|
|
13: InvalidMethodSignatureError,
|
|
14: TokenNotAuthorizedError,
|
|
15: TokenExpiredError,
|
|
} |