fuo-qqmusic 1.0.8__py3-none-any.whl → 1.0.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fuo-qqmusic might be problematic. Click here for more details.

fuo_qqmusic/provider.py CHANGED
@@ -183,7 +183,7 @@ class QQProvider(AbstractProvider, ProviderV2):
183
183
  return Media(q_media_mapping[quality.value])
184
184
 
185
185
  def video_list_quality(self, video):
186
- q_media_mapping = self._model_cache_get_or_fetch(video, "q_url_mapping")
186
+ q_media_mapping = self._model_cache_get_or_fetch(video, "q_url_mapping", ttl=3600)
187
187
  return [Quality.Video(k) for k, v in q_media_mapping.items() if v]
188
188
 
189
189
  def song_list_quality(self, song) -> List[Quality.Audio]:
@@ -223,9 +223,11 @@ class QQProvider(AbstractProvider, ProviderV2):
223
223
  q_media_mapping, exists = song.cache_get("q_media_mapping")
224
224
  if exists is True:
225
225
  return q_media_mapping
226
- quality_suffix = self._model_cache_get_or_fetch(song, "quality_suffix")
227
- mid = self._model_cache_get_or_fetch(song, "mid")
228
- media_id = self._model_cache_get_or_fetch(song, "media_id")
226
+ # 根据过去经验,这个东西一段时间之后会过期。
227
+ # 具体多久,不是很清楚。
228
+ quality_suffix = self._model_cache_get_or_fetch(song, "quality_suffix", ttl=3600)
229
+ mid = self._model_cache_get_or_fetch(song, "mid", ttl=3600)
230
+ media_id = self._model_cache_get_or_fetch(song, "media_id", ttl=3600)
229
231
  q_media_mapping = {}
230
232
  # 注:self.quality_suffix 这里可能会触发一次网络请求
231
233
  for idx, (q, t, b, s) in enumerate(quality_suffix):
@@ -1,16 +1,15 @@
1
- import json
2
1
  import logging
3
2
  import os
4
3
 
4
+ from PyQt5.QtWidgets import QMenu
5
+
5
6
  from feeluown.utils.dispatch import Signal
6
7
  from feeluown.utils.aio import run_fn
7
- from feeluown.consts import DATA_DIR
8
8
  from feeluown.gui.widgets.login import CookiesLoginDialog, InvalidCookies
9
9
  from feeluown.gui.provider_ui import AbstractProviderUi
10
10
  from feeluown.app.gui_app import GuiApp
11
11
 
12
12
  from .provider import provider
13
- from .excs import QQIOError
14
13
  from .login import read_cookies, write_cookies
15
14
 
16
15
  logger = logging.getLogger(__name__)
@@ -29,7 +28,7 @@ class ProviderUI(AbstractProviderUi):
29
28
  return os.path.join(os.path.dirname(__file__), 'assets', 'icon.svg')
30
29
 
31
30
  def login_or_go_home(self):
32
- if provider._user is None:
31
+ if not provider.has_current_user():
33
32
  # According to #14, we have two ways to login:
34
33
  # 1. the default way, as the code shows
35
34
  # 2. a way for VIP user(maybe):
@@ -53,10 +52,19 @@ class ProviderUI(AbstractProviderUi):
53
52
  def login_event(self):
54
53
  return self._login_event
55
54
 
55
+ def context_menu_add_items(self, menu: QMenu):
56
+ action = menu.addAction('重新登录')
57
+ action.triggered.connect(self._re_login)
58
+
56
59
  def on_login_succeed(self):
57
60
  del self._dialog
58
61
  self.login_event.emit(self, 1)
59
62
 
63
+ def _re_login(self):
64
+ provider.auth(None)
65
+ self.login_or_go_home()
66
+
67
+
60
68
 
61
69
  class LoginDialog(CookiesLoginDialog):
62
70
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fuo_qqmusic
3
- Version: 1.0.8
3
+ Version: 1.0.10
4
4
  Summary: feeluown qqmusic plugin
5
5
  Home-page: https://github.com/feeluown/feeluown-qqmusic
6
6
  Author: Cosven
@@ -0,0 +1,14 @@
1
+ fuo_qqmusic/__init__.py,sha256=YxZHAp5Qaye5B5V8GBPyxqnEUe-FcwUv6TiF_29qBEs,537
2
+ fuo_qqmusic/api.py,sha256=vzsPBhoivJs_LA_L8g7gR49o3jqtH_xpt3LInrBWBfI,28548
3
+ fuo_qqmusic/consts.py,sha256=9VFc9yE6z6c0IzK03PQTEO0JqgXi37RahEvZRP-A4Dk,185
4
+ fuo_qqmusic/excs.py,sha256=SBcER_wESjvui6a0Li1dX5utep4ouDS7HaTXqXPOQiA,160
5
+ fuo_qqmusic/login.py,sha256=zNPPncKl1Pr8uYBbLrdPlVJyKBsNfS2FotRfn9l3LEA,542
6
+ fuo_qqmusic/provider.py,sha256=d0AGT90M5bBmNljwrnZ1ejx1wf4Kz8fI1OW8KKAm6dg,20428
7
+ fuo_qqmusic/provider_ui.py,sha256=MTjobwbkb3XGmZujE5XZBdRJEOsEeNPWnr55jIR5xg4,2662
8
+ fuo_qqmusic/schemas.py,sha256=bS6PgqAypCo-4I11_iVyu_ZgBXxmkoVQ9cRIQDymjlc,12129
9
+ fuo_qqmusic/assets/icon.svg,sha256=o48VTiHroJU6S2g8LbxfnK25G2QW3d1XtQZKoL3ZMGA,1216
10
+ fuo_qqmusic-1.0.10.dist-info/METADATA,sha256=T8gyBnx30aGc3sJPWu0E3iUONg6sMfarovrQjMtAAhE,812
11
+ fuo_qqmusic-1.0.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
12
+ fuo_qqmusic-1.0.10.dist-info/entry_points.txt,sha256=XUL7UwcsLZEuEbBJIcsFemC3BiYb7dSTiXB9r6SJ5zY,39
13
+ fuo_qqmusic-1.0.10.dist-info/top_level.txt,sha256=Qn_g3dRwtoVZgVPZ9uRehspXi62T-E1x9_kLIdYFic4,12
14
+ fuo_qqmusic-1.0.10.dist-info/RECORD,,
@@ -1,14 +0,0 @@
1
- fuo_qqmusic/__init__.py,sha256=YxZHAp5Qaye5B5V8GBPyxqnEUe-FcwUv6TiF_29qBEs,537
2
- fuo_qqmusic/api.py,sha256=vzsPBhoivJs_LA_L8g7gR49o3jqtH_xpt3LInrBWBfI,28548
3
- fuo_qqmusic/consts.py,sha256=9VFc9yE6z6c0IzK03PQTEO0JqgXi37RahEvZRP-A4Dk,185
4
- fuo_qqmusic/excs.py,sha256=SBcER_wESjvui6a0Li1dX5utep4ouDS7HaTXqXPOQiA,160
5
- fuo_qqmusic/login.py,sha256=zNPPncKl1Pr8uYBbLrdPlVJyKBsNfS2FotRfn9l3LEA,542
6
- fuo_qqmusic/provider.py,sha256=S3gcS0od5nF-7_YLZ_VFGRSpycr4LMH31sexqDFvO_0,20270
7
- fuo_qqmusic/provider_ui.py,sha256=YzYVnst6OhYH8ii0rHrfZ6T41zJk844rkxL3E4gyD4Y,2459
8
- fuo_qqmusic/schemas.py,sha256=bS6PgqAypCo-4I11_iVyu_ZgBXxmkoVQ9cRIQDymjlc,12129
9
- fuo_qqmusic/assets/icon.svg,sha256=o48VTiHroJU6S2g8LbxfnK25G2QW3d1XtQZKoL3ZMGA,1216
10
- fuo_qqmusic-1.0.8.dist-info/METADATA,sha256=OIWBsFTaCfZJQ3Mk0Mudvur_JzErhXiDNYOko6retJk,811
11
- fuo_qqmusic-1.0.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
12
- fuo_qqmusic-1.0.8.dist-info/entry_points.txt,sha256=XUL7UwcsLZEuEbBJIcsFemC3BiYb7dSTiXB9r6SJ5zY,39
13
- fuo_qqmusic-1.0.8.dist-info/top_level.txt,sha256=Qn_g3dRwtoVZgVPZ9uRehspXi62T-E1x9_kLIdYFic4,12
14
- fuo_qqmusic-1.0.8.dist-info/RECORD,,