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: