From 1d52ea61da1065c46abff58afe0a587fcc0540ab Mon Sep 17 00:00:00 2001 From: arabcoders Date: Wed, 13 May 2026 08:39:22 +0300 Subject: [PATCH] refactor: do not log httpx related as exceptions but errors. --- app/features/tasks/definitions/handlers/generic.py | 4 +++- app/features/tasks/definitions/handlers/rss.py | 4 ++++ app/features/tasks/definitions/handlers/tver.py | 4 ++++ app/features/tasks/definitions/handlers/twitch.py | 4 ++++ app/features/tasks/definitions/handlers/youtube.py | 4 ++++ 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/features/tasks/definitions/handlers/generic.py b/app/features/tasks/definitions/handlers/generic.py index 5cf21ce1..6369bfb7 100644 --- a/app/features/tasks/definitions/handlers/generic.py +++ b/app/features/tasks/definitions/handlers/generic.py @@ -12,6 +12,7 @@ from collections.abc import Mapping from typing import TYPE_CHECKING, Any from urllib.parse import urljoin +import httpx import jmespath from parsel import Selector @@ -31,7 +32,6 @@ from ._base_handler import BaseHandler if TYPE_CHECKING: from pathlib import Path - import httpx from parsel.selector import SelectorList LOG: logging.Logger = logging.getLogger("handlers.generic") @@ -140,6 +140,8 @@ class GenericTaskHandler(BaseHandler): body_text, json_data = await GenericTaskHandler._fetch_content( url=target_url, definition=definition, ytdlp_opts=ytdlp_opts ) + except httpx.HTTPError as exc: + return TaskFailure(message="Failed to fetch target URL.", error=str(exc)) except Exception as exc: LOG.exception(exc) return TaskFailure(message="Failed to fetch target URL.", error=str(exc)) diff --git a/app/features/tasks/definitions/handlers/rss.py b/app/features/tasks/definitions/handlers/rss.py index 0e4f7b12..964afbef 100644 --- a/app/features/tasks/definitions/handlers/rss.py +++ b/app/features/tasks/definitions/handlers/rss.py @@ -4,6 +4,8 @@ import re from typing import TYPE_CHECKING, Any from xml.etree.ElementTree import Element +import httpx + from app.features.tasks.definitions.results import HandleTask, TaskFailure, TaskItem, TaskResult from app.features.ytdlp.extractor import fetch_info from app.features.ytdlp.utils import get_archive_id @@ -151,6 +153,8 @@ class RssGenericHandler(BaseHandler): try: feed_url, items, real_count = await RssGenericHandler._get(task, params, parsed) + except httpx.HTTPError as exc: + return TaskFailure(message="Failed to fetch RSS/Atom feed.", error=str(exc)) except Exception as exc: LOG.exception(exc) return TaskFailure(message="Failed to fetch RSS/Atom feed.", error=str(exc)) diff --git a/app/features/tasks/definitions/handlers/tver.py b/app/features/tasks/definitions/handlers/tver.py index d2e5e19d..ff413e00 100644 --- a/app/features/tasks/definitions/handlers/tver.py +++ b/app/features/tasks/definitions/handlers/tver.py @@ -1,6 +1,8 @@ import logging import re +import httpx + from app.features.tasks.definitions.results import HandleTask, TaskFailure, TaskItem, TaskResult from app.features.ytdlp.utils import get_archive_id @@ -151,6 +153,8 @@ class TverHandler(BaseHandler): try: feed_url, items, has_items = await TverHandler._collect_feed(task, params, series_id) + except httpx.HTTPError as exc: + return TaskFailure(message="Failed to fetch Tver feed.", error=str(exc)) except Exception as exc: LOG.exception(exc) return TaskFailure(message="Failed to fetch Tver feed.", error=str(exc)) diff --git a/app/features/tasks/definitions/handlers/twitch.py b/app/features/tasks/definitions/handlers/twitch.py index 2cb9c43d..8aac9b29 100644 --- a/app/features/tasks/definitions/handlers/twitch.py +++ b/app/features/tasks/definitions/handlers/twitch.py @@ -3,6 +3,8 @@ import re from typing import TYPE_CHECKING from xml.etree.ElementTree import Element +import httpx + from app.features.tasks.definitions.results import HandleTask, TaskFailure, TaskItem, TaskResult from app.features.ytdlp.utils import get_archive_id @@ -83,6 +85,8 @@ class TwitchHandler(BaseHandler): try: feed_url, items, has_items = await TwitchHandler._collect_feed(task, params, handle_name) + except httpx.HTTPError as exc: + return TaskFailure(message="Failed to fetch Twitch feed.", error=str(exc)) except Exception as exc: LOG.exception(exc) return TaskFailure(message="Failed to fetch Twitch feed.", error=str(exc)) diff --git a/app/features/tasks/definitions/handlers/youtube.py b/app/features/tasks/definitions/handlers/youtube.py index 1fb9d576..777f0c5e 100644 --- a/app/features/tasks/definitions/handlers/youtube.py +++ b/app/features/tasks/definitions/handlers/youtube.py @@ -3,6 +3,8 @@ import re from typing import TYPE_CHECKING, Any from xml.etree.ElementTree import Element +import httpx + from app.features.tasks.definitions.results import HandleTask, TaskFailure, TaskItem, TaskResult from app.features.ytdlp.utils import get_archive_id @@ -98,6 +100,8 @@ class YoutubeHandler(BaseHandler): try: feed_url, items, real_count = await YoutubeHandler._get(task, params, parsed) + except httpx.HTTPError as exc: + return TaskFailure(message="Failed to fetch YouTube feed.", error=str(exc)) except Exception as exc: LOG.exception(exc) return TaskFailure(message="Failed to fetch YouTube feed.", error=str(exc))