From 2b53ec25386fa837f71434c9349cf9563a01bbb9 Mon Sep 17 00:00:00 2001 From: Jag_k Date: Sun, 12 May 2024 21:23:45 +0400 Subject: [PATCH] Refactor MAX_SIZE context variable handling The get_max_size function was removed and the context variable MAX_SIZE was redefined to include a default setting of a float type right on its declaration. Afterward, all get_max_size calls in youtube.py and tiktok.py were replaced with MAX_SIZE.get calls to adapt with the updated implementation. Signed-off-by: Jag_k --- media_parser/context.py | 9 +-------- media_parser/parsers/tiktok.py | 4 ++-- media_parser/parsers/youtube.py | 4 ++-- pyproject.toml | 2 +- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/media_parser/context.py b/media_parser/context.py index 322b1e2..9262cc1 100644 --- a/media_parser/context.py +++ b/media_parser/context.py @@ -1,10 +1,3 @@ from contextvars import ContextVar -MAX_SIZE: ContextVar[str] = ContextVar("max-size", default="inf") # float(str or "inf") - - -def get_max_size() -> float: - try: - return float(MAX_SIZE.get("inf")) - except ValueError: - return float("inf") +MAX_SIZE: ContextVar[float] = ContextVar("max-size", default=float("inf")) # float(str or "inf") diff --git a/media_parser/parsers/tiktok.py b/media_parser/parsers/tiktok.py index ee392ce..33bc519 100644 --- a/media_parser/parsers/tiktok.py +++ b/media_parser/parsers/tiktok.py @@ -8,7 +8,7 @@ from aiohttp import ClientSession from pydantic import Field -from media_parser.context import get_max_size +from media_parser.context import MAX_SIZE from media_parser.models import Image, Media, ParserType, Video from media_parser.parsers.base import BaseParser, MediaCache from media_parser.utils import generate_timer @@ -118,7 +118,7 @@ async def _parse( def _process_video(self, data: dict, original_url: str) -> list[Video]: max_quality_url = data.get("video_data", {}).get("nwm_video_url_HQ") - max_size = get_max_size() + max_size = MAX_SIZE.get() try: url: str | None = max( diff --git a/media_parser/parsers/youtube.py b/media_parser/parsers/youtube.py index b56699c..70f91c1 100644 --- a/media_parser/parsers/youtube.py +++ b/media_parser/parsers/youtube.py @@ -9,7 +9,7 @@ from pytube import StreamQuery from pytube.exceptions import PytubeError -from media_parser.context import get_max_size +from media_parser.context import MAX_SIZE from media_parser.models import Media, ParserType, Video from media_parser.parsers.base import BaseParser, MediaCache @@ -69,7 +69,7 @@ def cpy_bound_request(self, original_url: str) -> list[Media]: max_quality_url = stream.url max_fs = 0 - max_size = get_max_size() + max_size = MAX_SIZE.get() for st in streams: logger.info("Stream: %s", st) diff --git a/pyproject.toml b/pyproject.toml index 5730255..24e0b88 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "media-parser" -version = "2.1.0" +version = "2.1.1" description = "API for parsing media from social networks" authors = ["Jag_k "] maintainers = ["Jag_k "]