From 72d7c694579c0b5c27b16dc6a6591316ce7ec747 Mon Sep 17 00:00:00 2001 From: Lev Plyusnin Date: Tue, 8 Oct 2024 09:01:12 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20IPv6=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE?= =?UTF-8?q?=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ymd/cli.py | 5 +++++ ymd/core.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/ymd/cli.py b/ymd/cli.py index 9c6556f..629bd7b 100644 --- a/ymd/cli.py +++ b/ymd/cli.py @@ -157,6 +157,9 @@ def main(): metavar="", help=show_default(), ) + parser.add_argument( + "--enable-ipv6", action="store_true", default=False, help=argparse.SUPPRESS + ) args = parser.parse_args() @@ -207,7 +210,9 @@ def main(): print("Параметер url указан в неверном формате") return 1 domain = parsed_url.hostname + session = Session() + core.setup_networking(args.enable_ipv6) core.setup_session(session, cookies, DEFAULT_USER_AGENT, domain) session.hooks = {"response": response_hook} client = YandexMusicApi(session, domain) diff --git a/ymd/core.py b/ymd/core.py index e66e1bf..ed35c1d 100644 --- a/ymd/core.py +++ b/ymd/core.py @@ -5,6 +5,7 @@ from pathlib import Path from typing import Optional import eyed3 +import requests from eyed3.id3.frames import ImageFrame from requests import Session @@ -83,6 +84,10 @@ def set_id3_tags( tag.save() +def setup_networking(enable_ipv6: bool): + requests.packages.urllib3.util.connection.HAS_IPV6 = enable_ipv6 # type: ignore + + def setup_session( session: Session, cookie_jar: CookieJar, user_agent: str, domain: str ) -> Session: