From f56dd8a46a6d8696a30851414f6e0bc0d33c4d4c Mon Sep 17 00:00:00 2001 From: Mootfrost Date: Sun, 13 Apr 2025 20:36:57 +0300 Subject: [PATCH] Change strat --- .forgejo/workflows/deploy.yaml | 2 +- app/MusicProvider/SpotifyStrategy.py | 5 +++-- app/MusicProvider/YMusicStrategy.py | 12 ++++++------ app/youtube_api.py | 8 ++++---- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 8568bb1..fa95695 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -7,7 +7,7 @@ on: jobs: deploy: - runs-on: s4_docker + runs-on: s3_docker steps: - name: Check out code diff --git a/app/MusicProvider/SpotifyStrategy.py b/app/MusicProvider/SpotifyStrategy.py index 1583119..c3cff6d 100644 --- a/app/MusicProvider/SpotifyStrategy.py +++ b/app/MusicProvider/SpotifyStrategy.py @@ -29,7 +29,8 @@ class SpotifyStrategy(MusicProviderStrategy): token, expires_in = await refresh_token('https://accounts.spotify.com/api/token', user.spotify_auth['refresh_token'], - config.spotify.encoded + config.spotify.encoded, + config.proxy ) async with get_session_context() as session: await session.execute( @@ -45,7 +46,7 @@ class SpotifyStrategy(MusicProviderStrategy): 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' } - async with aiohttp.ClientSession() as session: + async with aiohttp.ClientSession(proxy=config.proxy) as session: resp = await session.get(f'https://api.spotify.com/v1{endpoint}', headers=user_headers) if resp.status != 200: return None diff --git a/app/MusicProvider/YMusicStrategy.py b/app/MusicProvider/YMusicStrategy.py index 21dfdec..d12e354 100644 --- a/app/MusicProvider/YMusicStrategy.py +++ b/app/MusicProvider/YMusicStrategy.py @@ -32,8 +32,8 @@ class YandexMusicStrategy(MusicProviderStrategy): token, expires_in = await refresh_token('https://oauth.yandex.com/token', user.ymusic_auth['refresh_token'], - config.ymusic.encoded, - config.proxy) + config.ymusic.encoded + ) async with get_session_context() as session: await session.execute( update(User).where(User.id == self.user_id).values(spotify_auth=get_oauth_creds(token, @@ -44,10 +44,10 @@ class YandexMusicStrategy(MusicProviderStrategy): return token async def get_tracks(self, token) -> list[Track]: - if config.proxy: - client = ClientAsync(token, request=Request(proxy_url=config.proxy)) - else: - client = await ClientAsync(token).init() + # if config.proxy: + # client = ClientAsync(token, request=Request(proxy_url=config.proxy)) + # else: + client = await ClientAsync(token).init() liked: TracksList = await client.users_likes_tracks() tracks = await client.tracks([x.id for x in liked.tracks[:5]]) print(tracks[0]) diff --git a/app/youtube_api.py b/app/youtube_api.py index 30bf236..2c5592e 100644 --- a/app/youtube_api.py +++ b/app/youtube_api.py @@ -10,8 +10,8 @@ from app.config import config ytmusic = YTMusic('oauth.json', oauth_credentials=OAuthCredentials(client_id=config.yt.client_id, client_secret=config.yt.client_secret)) -# if config.proxy: -# ytmusic.proxies = {'http': config.proxy, 'https': config.proxy} +if config.proxy: + ytmusic.proxies = {'http': config.proxy, 'https': config.proxy} def name_to_youtube(name: str): @@ -26,8 +26,8 @@ def _download(yt_id: str, directory: str): 'quiet': True, 'outtmpl': os.path.join(directory, 'dl.%(ext)s'), } - # if config.proxy: - # params['proxy'] = config.proxy + if config.proxy: + params['proxy'] = config.proxy with YoutubeDL(params) as ydl: return ydl.extract_info(yt_id)