discordBot/utils/__init__.py

60 lines
1.3 KiB
Python

from .pogoda import (
API_URL_WEATHER,
_session as _weather_session,
fetch_weather,
fetch_open_meteo,
format_weather_data_for_console,
format_weather_for_message,
pressure_to_mmhg,
translate_weather,
wmo_to_russian,
)
from .news import ( # noqa: E402
_session as _news_session,
RSS_URL_ARTICLES,
RSS_URL_POSTS,
fetch_rss,
format_articles,
truncate_title,
)
from .cat import ( # noqa: E402
_session as _cat_session,
fetch_cat,
)
__all__ = [
# Погода
"API_URL_WEATHER",
"fetch_weather",
"fetch_open_meteo",
"format_weather_data_for_console",
"format_weather_for_message",
"pressure_to_mmhg",
"translate_weather",
"wmo_to_russian",
# Новости
"RSS_URL_ARTICLES",
"RSS_URL_POSTS",
"fetch_rss",
"format_articles",
"truncate_title",
# Котики
"fetch_cat",
# Lifecycle
"close_all_sessions",
]
def close_all_sessions() -> None:
"""Закрыть все requests.Session для освобождения сокетов."""
for session in (
_weather_session,
_news_session,
_cat_session,
):
try:
session.close()
except Exception:
pass # Cleanup — игнорируем ошибки