fuo-qqmusic 1.0.14__tar.gz → 1.0.16__tar.gz

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.
Files changed (22) hide show
  1. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/PKG-INFO +2 -2
  2. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/README.md +6 -0
  3. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/api.py +5 -16
  4. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/provider.py +2 -2
  5. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/schemas.py +4 -4
  6. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic.egg-info/PKG-INFO +2 -2
  7. fuo_qqmusic-1.0.16/fuo_qqmusic.egg-info/requires.txt +3 -0
  8. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/setup.py +2 -2
  9. fuo_qqmusic-1.0.14/fuo_qqmusic.egg-info/requires.txt +0 -3
  10. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/__init__.py +0 -0
  11. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/assets/icon.svg +0 -0
  12. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/consts.py +0 -0
  13. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/excs.py +0 -0
  14. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/login.py +0 -0
  15. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic/provider_ui.py +0 -0
  16. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic.egg-info/SOURCES.txt +0 -0
  17. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic.egg-info/dependency_links.txt +0 -0
  18. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic.egg-info/entry_points.txt +0 -0
  19. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/fuo_qqmusic.egg-info/top_level.txt +0 -0
  20. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/setup.cfg +0 -0
  21. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/tests/test_api.py +0 -0
  22. {fuo_qqmusic-1.0.14 → fuo_qqmusic-1.0.16}/tests/test_provider.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fuo_qqmusic
3
- Version: 1.0.14
3
+ Version: 1.0.16
4
4
  Summary: feeluown qqmusic plugin
5
5
  Home-page: https://github.com/feeluown/feeluown-qqmusic
6
6
  Author: Cosven
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.9
15
15
  Classifier: Programming Language :: Python :: 3 :: Only
16
16
  Requires-Dist: feeluown>=4.1.13
17
17
  Requires-Dist: requests
18
- Requires-Dist: marshmallow<4.0.0,>=3.0
18
+ Requires-Dist: marshmallow<4.0.0,>=3.13.0
19
19
  Dynamic: author
20
20
  Dynamic: author-email
21
21
  Dynamic: classifier
@@ -20,6 +20,12 @@ pip3 install fuo-qqmusic
20
20
  [操作示例](https://github.com/feeluown/feeluown-qqmusic/issues/6)。
21
21
 
22
22
  ## changelog
23
+ ### 1.0.16 (2026-02-03)
24
+ - 支持更新的 marshmallow 版本
25
+
26
+ ### 1.0.15 (2026-01-18)
27
+ - 支持猜你喜欢电台(配合 FeelUOwn v5.0a1 可用)
28
+
23
29
  ### 1.0.14 (2025-11-27)
24
30
  - 尝试修复 url 过期的问题
25
31
 
@@ -457,7 +457,7 @@ class API(object):
457
457
  }
458
458
  js = self.rpc(data)
459
459
  return js['req_0']['data']
460
-
460
+
461
461
  def get_comment(self, comment_id):
462
462
  url = api_base_url + f'/base/fcgi-bin/fcg_global_comment_h5.fcg?biztype=1&cmd=8&topid={comment_id}&pagenum=0&pagesize=25'
463
463
  res_data = requests.get(url, headers=self._headers)
@@ -539,28 +539,17 @@ class API(object):
539
539
  js = self.rpc(payload)
540
540
  return js['getMvUrl']['data'][vid]
541
541
 
542
- def get_radio_music(self):
542
+ def get_radio_music(self, num=10):
543
543
  payload = {
544
544
  'songlist': {
545
545
  'module': "mb_track_radio_svr",
546
546
  'method': "get_radio_track",
547
547
  'param': {
548
- 'id': 99,
549
- 'firstplay': 1,
550
- 'num': 15
551
- },
552
- },
553
- 'radiolist': {
554
- 'module': "pf.radiosvr",
555
- 'method': "GetRadiolist",
556
- 'param': {
557
- 'ct': "24"
548
+ 'id': 99, # radio id,对应“猜你喜欢”这个电台
549
+ 'firstplay': 0,
550
+ 'num': num # 单次获取的歌曲数量
558
551
  },
559
552
  },
560
- 'comm': {
561
- 'ct': 24,
562
- 'cv': 0
563
- },
564
553
  }
565
554
  js = self.rpc(payload)
566
555
  return js['songlist']['data']['tracks']
@@ -431,8 +431,8 @@ class QQProvider(AbstractProvider, ProviderV2):
431
431
  models=[_deserialize(track, QQSongSchema) for track in tracks],
432
432
  description='')
433
433
 
434
- def current_user_get_radio_songs(self):
435
- songs_data = self.api.get_radio_music()
434
+ def current_user_list_radio_songs(self, count):
435
+ songs_data = self.api.get_radio_music(count)
436
436
  return [_deserialize(s, QQSongSchema) for s in songs_data]
437
437
 
438
438
  def current_user_list_playlists(self):
@@ -17,7 +17,7 @@ logger = logging.getLogger(__name__)
17
17
 
18
18
 
19
19
  class BaseSchema(Schema):
20
- source = fields.Str(missing="qqmusic")
20
+ source = fields.Str(load_default="qqmusic")
21
21
 
22
22
  class Meta:
23
23
  unknown = EXCLUDE
@@ -94,7 +94,7 @@ class QQSongSchema(Schema):
94
94
  artists = fields.List(fields.Nested("_SongArtistSchema"),
95
95
  data_key="singer")
96
96
  album = fields.Nested("_SongAlbumSchema", required=True)
97
- files = fields.Dict(data_key="file", missing={})
97
+ files = fields.Dict(data_key="file", load_default={})
98
98
  mv = fields.Dict(required=True)
99
99
 
100
100
  @post_load
@@ -221,9 +221,9 @@ class QQArtistSchema(Schema):
221
221
  mid = fields.Str(data_key="singer_mid", required=True)
222
222
  name = fields.Str(data_key="singer_name", required=True)
223
223
 
224
- description = fields.Str(data_key="SingerDesc", missing="")
224
+ description = fields.Str(data_key="SingerDesc", load_default="")
225
225
  hot_songs = fields.List(
226
- fields.Nested(_ArtistSongSchema), data_key="list", missing=list
226
+ fields.Nested(_ArtistSongSchema), data_key="list", load_default=list
227
227
  )
228
228
 
229
229
  @post_load
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fuo_qqmusic
3
- Version: 1.0.14
3
+ Version: 1.0.16
4
4
  Summary: feeluown qqmusic plugin
5
5
  Home-page: https://github.com/feeluown/feeluown-qqmusic
6
6
  Author: Cosven
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.9
15
15
  Classifier: Programming Language :: Python :: 3 :: Only
16
16
  Requires-Dist: feeluown>=4.1.13
17
17
  Requires-Dist: requests
18
- Requires-Dist: marshmallow<4.0.0,>=3.0
18
+ Requires-Dist: marshmallow<4.0.0,>=3.13.0
19
19
  Dynamic: author
20
20
  Dynamic: author-email
21
21
  Dynamic: classifier
@@ -0,0 +1,3 @@
1
+ feeluown>=4.1.13
2
+ requests
3
+ marshmallow<4.0.0,>=3.13.0
@@ -5,7 +5,7 @@ from setuptools import setup
5
5
 
6
6
  setup(
7
7
  name='fuo_qqmusic',
8
- version='1.0.14',
8
+ version='1.0.16',
9
9
  description='feeluown qqmusic plugin',
10
10
  author='Cosven',
11
11
  author_email='yinshaowen241@gmail.com',
@@ -29,7 +29,7 @@ setup(
29
29
  install_requires=[
30
30
  'feeluown>=4.1.13',
31
31
  'requests',
32
- 'marshmallow>=3.0,<4.0.0'
32
+ 'marshmallow>=3.13.0,<4.0.0'
33
33
  ],
34
34
  entry_points={
35
35
  'fuo.plugins_v1': [
@@ -1,3 +0,0 @@
1
- feeluown>=4.1.13
2
- requests
3
- marshmallow<4.0.0,>=3.0
File without changes