From ecbc66dab81e0495cf6aa155d6c4ff2a67b0ec4c Mon Sep 17 00:00:00 2001 From: lucunji Date: Fri, 24 Jun 2022 07:36:04 -0700 Subject: [PATCH] fix(music_new): PropertyRequestor.__call__ no longer accept additional params; make PropertyRequestor.invoke private --- app/music_new/music.py | 6 +++--- app/music_new/netease/netease_music.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/music_new/music.py b/app/music_new/music.py index eb06f2f..e214bc0 100644 --- a/app/music_new/music.py +++ b/app/music_new/music.py @@ -72,15 +72,15 @@ def bind(self, music: 'MusicPiece'): self.owner = music @abstract - async def invoke(self, *args, **kwargs) -> any: + async def __invoke(self) -> any: pass - async def __call__(self, *args, **kwargs) -> any: + async def __call__(self) -> any: async with self.lock: if time.time() - self.lastrun_sec > self.expiration_time_sec or self.__counter == 0: self.__counter += 1 self.lastrun_sec = time.time() - self.result = await self.invoke(*args, **kwargs) + self.result = await self.invoke() return self.result def __repr__(self): diff --git a/app/music_new/netease/netease_music.py b/app/music_new/netease/netease_music.py index dee07cd..44b7ec3 100644 --- a/app/music_new/netease/netease_music.py +++ b/app/music_new/netease/netease_music.py @@ -20,7 +20,7 @@ async def invoke(self, *args, **kwargs): async with aiohttp.ClientSession() as sess: async with sess.post('https://music.163.com/api/song/enhance/player/url/', params={ 'br': '3200000', - 'ids': f'[{self.song_id}]' + 'Aids': f'[{self.song_id}]' }) as resp: text = await resp.text() data = json.loads(text) @@ -32,7 +32,7 @@ def __init__(self, song_id: int): super(DetailRequestor, self).__init__() self.song_id = song_id - async def invoke(self, *args, **kwargs): + async def __invoke(self): async with aiohttp.ClientSession() as sess: async with sess.post('https://music.163.com/api/song/detail/', params={ 'ids': f'[{self.song_id}]' @@ -58,14 +58,14 @@ def __init__(self, song_id): @property async def name(self) -> str: if self.__name is None: - data = await self.requestors['DetailRequestor']('name') + data = await self.requestors['DetailRequestor']() self.__name = data.get('songs', [{}])[0].get('name', 'N/A') return self.__name @property async def artists(self) -> list[str]: if self.artists is None: - data = await self.requestors['DetailRequestor']('name') + data = await self.requestors['DetailRequestor']() artists = data.get('songs', [{}])[0].get('artists', []) self.__artists = [artists.get('name', 'Unknown') for artist in artists] return self.__artists