Untitled
1 year ago in Python
def check_response(response):
"""Проверяем данные в полученном ответе."""
if not isinstance(response, dict):
err_text = (
'Ответ не является словарем.'
f'Тип: {type(response)}.'
f'Ответ: {response}.'
)
_logger.error(err_text)
raise TypeError(err_text)
if not response.get('homeworks'):
err_text = (
'В ответе нет ключа `homeworks`.'
f'{response}.'
)
_logger.error(err_text)
raise KeyNotFoundError(err_text)
if not response.get('current_date'):
err_text = (
'В ответе нет ключа `current_date`.'
f'{response}.'
)
_logger.error(err_text)
raise KeyNotFoundError(err_text)
homeworks = response.get('homeworks')
if not isinstance(homeworks, list):
err_text = (
f'Значение ключа `homeworks` не является списком.'
f'Тип: {type(homeworks)}.'
f'Ответ: {homeworks}.'
)
_logger.error(err_text)
raise TypeError(err_text)
if not homeworks:
err_text = 'Значение по ключу `homeworks` - пустой список.'
_logger.error(err_text)
raise IndexError(err_text)
return homeworks