import logging from utils.cat import fetch_cat from utils.morning_runner import gather_morning from utils.news import RSS_URL_ARTICLES, RSS_URL_POSTS, format_articles from utils.pogoda import format_weather_data_for_console logger = logging.getLogger(__name__) async def morning(stop_event, bot): """Вывести погоду, лучшие статьи за сутки и котик""" logger.info("Консольная команда: morning") data = await gather_morning() print("Доброе утро!\n") # --- Котик --- if data.cat_url: print(f"Котик: {data.cat_url}\n") else: logger.warning("Консольная команда morning: не удалось получить котика") print("Котика получить не удалось.\n") # --- Погода --- formatted = format_weather_data_for_console(data.weather) if formatted: print("**Погода в Магнитогорске:**") for line in formatted: print(line) else: logger.warning("Консольная команда morning: не удалось получить погоду") print("Не удалось получить данные о погоде.") print() # --- Новости: статьи --- if data.articles is not None: if data.articles: lines = format_articles( data.articles, "Лучшие статьи за сутки / Искусственный интеллект / Хабr", "https://habr.com/ru/hubs/artificial_intelligence/articles/top/daily/", ) print("\n".join(lines)) else: logger.info("Консольная команда morning: статей нет в RSS") print("Новостей пока нет.") else: logger.warning("Консольная команда morning: не удалось получить статьи") print("Не удалось получить новости.") print() # --- Новости: посты --- if data.posts is not None: if data.posts: lines = format_articles( data.posts, "Лучшие новости за сутки / Искусственный интеллект / Хабr", "https://habr.com/ru/hubs/artificial_intelligence/news/top/daily/", ) print("\n".join(lines)) else: logger.info("Консольная команда morning: постов нет в RSS") print("Новостей пока нет.") else: logger.warning("Консольная команда morning: не удалось получить посты") print("Не удалось получить новости.") logger.info("Консольная команда morning: завершен")