import imdb
from imdb import IMDbDataAccessError
try:
ia = imdb.IMDb(accessSystem='http', reraiseExceptions=True)
movie = ia.get_movie('12121212212121')
except:
print("error")
Помогает опция reraiseExceptions .Теперь программа выводит след И потом error
.
Я нашел это, посмотрев на источник функций, вызвавших Исключение.то есть retrieve_unicode
и update
.В поисках "ret = method(mopID)"
я обнаружил this , который снова вызывает исключение, только если self._reraise_exceptions
установлен в true в базовом объекте IMDB.
Я создал проблему попросить их сделать это более очевидным, что этот параметр необходим
Также стоит отметить, что этот отрывок из их config :
## Set the threshold for logging messages.
# Can be one of "debug", "info", "warning", "error", "critical" (default:
# "warning").
#loggingLevel = debug
, который подразумевает, чтоВы можете уменьшить многословие журналов.Однако передача параметра loggingLevel="critical"
, по-видимому, не уменьшает вывод консоли.Это связано с тем, что эти ошибки сами по себе имеют уровень critical
.
Однако вы можете полностью отключить регистратор :
import imdb
from imdb import IMDbDataAccessError
import logging
try:
logger = logging.getLogger('imdbpy');
logger.disabled = True
ia = imdb.IMDb(accessSystem='http', reraiseExceptions=True, loggingLevel="critical")
movie = ia.get_movie('12121212212121')
except IMDbDataAccessError:
print("error")
Имена регистраторов: в настоящее время 'imdbpy'
и 'imdbpy.aux'
.