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.
 
 
 
 
 

80 lines
2.4 KiB

#!/usr/bin/env python2
# encoding:utf-8
# project:indexer_api
# license:unlicense (http://unlicense.org/)
__all__ = ['check_exception_type', 'ExceptionTuples',
'BaseTVinfoException', 'BaseTVinfoError', 'BaseTVinfoAuthenticationerror',
'BaseTVinfoUserabort', 'BaseTVinfoAttributenotfound', 'BaseTVinfoEpisodenotfound',
'BaseTVinfoSeasonnotfound', 'BaseTVinfoShownotfound']
"""Custom exceptions used or raised by indexer_api"""
from lib.tvdb_api.tvdb_exceptions import \
TvdbException, TvdbAttributenotfound, TvdbEpisodenotfound, TvdbError, \
TvdbSeasonnotfound, TvdbShownotfound, TvdbUserabort, TvdbTokenexpired
indexer_excepts = [
'tvinfo_exception', 'tvinfo_error', 'tvinfo_userabort',
'tvinfo_shownotfound', 'tvinfo_seasonnotfound', 'tvinfo_episodenotfound',
'tvinfo_attributenotfound', 'tvinfo_authenticationerror']
tvdb_excepts = [
'tvdb_exception', 'tvdb_error', 'tvdb_userabort', 'tvdb_shownotfound',
'tvdb_seasonnotfound', 'tvdb_episodenotfound', 'tvdb_attributenotfound',
'tvdb_tokenexpired']
tvdbv1_excepts = [
'tvdb_exception_v1', 'tvdb_error_v1', 'tvdb_userabort_v1', 'tvdb_shownotfound_v1',
'tvdb_seasonnotfound_v1', 'tvdb_episodenotfound_v1', 'tvdb_attributenotfound_v1']
class BaseTVinfoException(Exception):
pass
class BaseTVinfoError(Exception):
pass
class BaseTVinfoAuthenticationerror(Exception):
pass
class BaseTVinfoUserabort(Exception):
pass
class BaseTVinfoAttributenotfound(Exception):
pass
class BaseTVinfoEpisodenotfound(Exception):
pass
class BaseTVinfoSeasonnotfound(Exception):
pass
class BaseTVinfoShownotfound(Exception):
pass
# link API exceptions to our exception handler
class ExceptionTuples:
tvinfo_exception = TvdbException, BaseTVinfoException
tvinfo_error = TvdbError, BaseTVinfoError
tvinfo_authenticationerror = TvdbTokenexpired, BaseTVinfoAuthenticationerror
tvinfo_userabort = TvdbUserabort, BaseTVinfoUserabort
tvinfo_attributenotfound = TvdbAttributenotfound, BaseTVinfoAttributenotfound
tvinfo_episodenotfound = TvdbEpisodenotfound, BaseTVinfoEpisodenotfound
tvinfo_seasonnotfound = TvdbSeasonnotfound, BaseTVinfoSeasonnotfound
tvinfo_shownotfound = TvdbShownotfound, BaseTVinfoShownotfound
def check_exception_type(ex, ex_class, *args):
# type: (...) -> bool
if issubclass(ex.__class__, ex_class + args):
return True
return False