#!/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