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.
107 lines
2.3 KiB
107 lines
2.3 KiB
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
#-----------------------
|
|
# Name: tmdb_exceptions.py Common exceptions used in tmdbv3 API library
|
|
# Python Library
|
|
# Author: Raymond Wagner
|
|
#-----------------------
|
|
|
|
|
|
class TMDBError(Exception):
|
|
Error = 0
|
|
KeyError = 10
|
|
KeyMissing = 20
|
|
KeyInvalid = 30
|
|
KeyRevoked = 40
|
|
RequestError = 50
|
|
RequestInvalid = 51
|
|
PagingIssue = 60
|
|
CacheError = 70
|
|
CacheReadError = 71
|
|
CacheWriteError = 72
|
|
CacheDirectoryError = 73
|
|
ImageSizeError = 80
|
|
HTTPError = 90
|
|
Offline = 100
|
|
LocaleError = 110
|
|
|
|
def __init__(self, msg=None, errno=0):
|
|
self.errno = errno
|
|
if errno == 0:
|
|
self.errno = getattr(self, 'TMDB'+self.__class__.__name__, errno)
|
|
self.args = (msg,)
|
|
|
|
|
|
class TMDBKeyError(TMDBError):
|
|
pass
|
|
|
|
|
|
class TMDBKeyMissing(TMDBKeyError):
|
|
pass
|
|
|
|
|
|
class TMDBKeyInvalid(TMDBKeyError):
|
|
pass
|
|
|
|
|
|
class TMDBKeyRevoked(TMDBKeyInvalid):
|
|
pass
|
|
|
|
|
|
class TMDBRequestError(TMDBError):
|
|
pass
|
|
|
|
|
|
class TMDBRequestInvalid(TMDBRequestError):
|
|
pass
|
|
|
|
|
|
class TMDBPagingIssue(TMDBRequestError):
|
|
pass
|
|
|
|
|
|
class TMDBCacheError(TMDBRequestError):
|
|
pass
|
|
|
|
|
|
class TMDBCacheReadError(TMDBCacheError):
|
|
def __init__(self, filename):
|
|
super(TMDBCacheReadError, self).__init__(
|
|
"User does not have permission to access cache file: {0}."\
|
|
.format(filename))
|
|
self.filename = filename
|
|
|
|
|
|
class TMDBCacheWriteError(TMDBCacheError):
|
|
def __init__(self, filename):
|
|
super(TMDBCacheWriteError, self).__init__(
|
|
"User does not have permission to write cache file: {0}."\
|
|
.format(filename))
|
|
self.filename = filename
|
|
|
|
|
|
class TMDBCacheDirectoryError(TMDBCacheError):
|
|
def __init__(self, filename):
|
|
super(TMDBCacheDirectoryError, self).__init__(
|
|
"Directory containing cache file does not exist: {0}."\
|
|
.format(filename))
|
|
self.filename = filename
|
|
|
|
|
|
class TMDBImageSizeError(TMDBError ):
|
|
pass
|
|
|
|
|
|
class TMDBHTTPError(TMDBError):
|
|
def __init__(self, err):
|
|
self.httperrno = err.code
|
|
self.response = err.fp.read()
|
|
super(TMDBHTTPError, self).__init__(str(err))
|
|
|
|
|
|
class TMDBOffline(TMDBError):
|
|
pass
|
|
|
|
|
|
class TMDBLocaleError(TMDBError):
|
|
pass
|
|
|