qqmusic-api-python 0.3.3__py3-none-any.whl → 0.3.4__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.
qqmusic_api/__init__.py CHANGED
@@ -4,7 +4,7 @@ from . import album, login, lyric, mv, search, singer, song, songlist, top, user
4
4
  from .utils.credential import Credential
5
5
  from .utils.session import Session, get_session, set_session
6
6
 
7
- __version__ = "0.3.3"
7
+ __version__ = "0.3.4"
8
8
 
9
9
  logger = logging.getLogger("qqmusicapi")
10
10
 
qqmusic_api/song.py CHANGED
@@ -16,7 +16,7 @@ def _get_extract_func(key: str):
16
16
 
17
17
 
18
18
  @api_request("music.trackInfo.UniformRuleCtrl", "CgiGetTrackInfo")
19
- async def query_song(value: list[str] | list[int]):
19
+ async def query_song(value: list[int] | list[str]):
20
20
  """根据 id 或 mid 获取歌曲信息
21
21
 
22
22
  Args:
@@ -114,6 +114,7 @@ class EncryptedSongFileType(BaseSongFileType):
114
114
  async def get_song_urls(
115
115
  mid: list[str],
116
116
  file_type: SongFileType = SongFileType.MP3_128,
117
+ *,
117
118
  credential: Credential | None = None,
118
119
  ) -> dict[str, str]: ...
119
120
 
@@ -122,6 +123,7 @@ async def get_song_urls(
122
123
  async def get_song_urls(
123
124
  mid: list[str],
124
125
  file_type: EncryptedSongFileType,
126
+ *,
125
127
  credential: Credential | None = None,
126
128
  ) -> dict[str, tuple[str, str]]: ...
127
129
 
@@ -129,6 +131,7 @@ async def get_song_urls(
129
131
  async def get_song_urls(
130
132
  mid: list[str],
131
133
  file_type: SongFileType | EncryptedSongFileType = SongFileType.MP3_128,
134
+ *,
132
135
  credential: Credential | None = None,
133
136
  ) -> dict[str, str] | dict[str, tuple[str, str]]:
134
137
  """获取歌曲文件链接
qqmusic_api/songlist.py CHANGED
@@ -79,7 +79,7 @@ async def get_songlist(
79
79
 
80
80
 
81
81
  @api_request("music.musicasset.PlaylistBaseWrite", "AddPlaylist", verify=True, cacheable=False)
82
- async def create(dirname: str, credential: Credential | None = None):
82
+ async def create(dirname: str, *, credential: Credential | None = None):
83
83
  """添加歌单, 重名会在名称后面添加时间戳
84
84
 
85
85
  Args:
@@ -95,7 +95,7 @@ async def create(dirname: str, credential: Credential | None = None):
95
95
 
96
96
 
97
97
  @api_request("music.musicasset.PlaylistBaseWrite", "DelPlaylist", verify=True, cacheable=False)
98
- async def delete(dirid: int, credential: Credential | None = None):
98
+ async def delete(dirid: int, *, credential: Credential | None = None):
99
99
  """删除歌单
100
100
 
101
101
  Args:
@@ -111,7 +111,7 @@ async def delete(dirid: int, credential: Credential | None = None):
111
111
 
112
112
 
113
113
  @api_request("music.musicasset.PlaylistDetailWrite", "AddSonglist", verify=True, cacheable=False)
114
- async def add_songs(dirid: int = 1, song_ids: list[int] = [], credential: Credential | None = None):
114
+ async def add_songs(dirid: int = 1, song_ids: list[int] = [], *, credential: Credential | None = None):
115
115
  """添加歌曲到歌单
116
116
 
117
117
  Args:
@@ -129,7 +129,7 @@ async def add_songs(dirid: int = 1, song_ids: list[int] = [], credential: Creden
129
129
 
130
130
 
131
131
  @api_request("music.musicasset.PlaylistDetailWrite", "DelSonglist", verify=True, cacheable=False)
132
- async def del_songs(dirid: int = 1, song_ids: list[int] = [], credential: Credential | None = None):
132
+ async def del_songs(dirid: int = 1, song_ids: list[int] = [], *, credential: Credential | None = None):
133
133
  """删除歌单歌曲
134
134
 
135
135
  Args:
qqmusic_api/user.py CHANGED
@@ -93,7 +93,7 @@ async def get_friend(page: int = 1, num: int = 10, *, credential: Credential | N
93
93
  return {
94
94
  "PageSize": num,
95
95
  "Page": page - 1,
96
- }, lambda data: {"total": data.get("Total", 0), "list": data.get("List", [])}
96
+ }, lambda data: {"total": len(data.get("Friends", [])), "list": data.get("Friends", [])}
97
97
 
98
98
 
99
99
  @api_request("music.concern.RelationList", "GetFollowUserList", verify=True, cacheable=False)
@@ -84,16 +84,14 @@ class Credential:
84
84
  if not self.has_musicid() or not self.has_musickey():
85
85
  return False
86
86
  if await self.is_expired():
87
- return bool(self.refresh_key) and bool(self.refresh_token)
87
+ return bool(self.refresh_key)
88
88
  return True
89
89
 
90
90
  async def is_expired(self) -> bool:
91
91
  """判断 credential 是否过期"""
92
92
  if "musickeyCreateTime" in self.extra_fields and "keyExpiresIn" in self.extra_fields:
93
93
  expired_time_stamp = self.extra_fields["musickeyCreateTime"] + self.extra_fields["keyExpiresIn"]
94
- if expired_time_stamp >= time():
95
- return True
96
- return False
94
+ return expired_time_stamp <= time()
97
95
 
98
96
  from ..login import check_expired
99
97
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qqmusic-api-python
3
- Version: 0.3.3
3
+ Version: 0.3.4
4
4
  Summary: QQ音乐API封装库
5
5
  Project-URL: homepage, https://luren-dc.github.io/QQMusicApi/
6
6
  Project-URL: repository, https://github.com/luren-dc/QQMusicApi
@@ -98,11 +98,7 @@ async def main():
98
98
  asyncio.run(main())
99
99
  ```
100
100
 
101
- ## Web API
102
- ```
103
- docker build . -t qq-music-api
104
- docker run -d -p 8000:8000 qq-music-api
105
- ```
101
+ ## [Web API](./web/README.md)
106
102
 
107
103
  ## Licence
108
104
 
@@ -1,26 +1,26 @@
1
- qqmusic_api/__init__.py,sha256=NWXFSITG759z1_W6eWvlmOklfdMPCEQS1OUBIFUzCHU,479
1
+ qqmusic_api/__init__.py,sha256=Y-oh_zh_qp2Juec6CMJfvw5asRR9x77VXFKkGMLpxMw,479
2
2
  qqmusic_api/album.py,sha256=5kYuCizYzESVjlv5b6wdd30kgTBuuz4xFn6km3-31pI,1443
3
3
  qqmusic_api/login.py,sha256=alz69NgJonxtMcCuEKTzNuOZov0lKeQgc-OUNXZDZ9Y,12643
4
4
  qqmusic_api/lyric.py,sha256=NLB4CXfJg9ovsvc8XKy7b3Gw8lCASlDDXnqzRRTKs2w,1622
5
5
  qqmusic_api/mv.py,sha256=O-P-sqStnhce6bVAr7Z_jLrqAa1zVvX00NC9SkAU5RI,1962
6
6
  qqmusic_api/search.py,sha256=wRW9MylIkciOpcHoMPbJjaWOgw65-EtCJhKiNB3cKWg,3265
7
7
  qqmusic_api/singer.py,sha256=iZ5izSAiM81KUP0-44MYwamveL92Ia-pxRNne6V4lOk,10006
8
- qqmusic_api/song.py,sha256=TdYOB5blIc8BDhQXAxbObJM0u9DaHuefC-Yfian209o,9014
9
- qqmusic_api/songlist.py,sha256=l_8-YuDcqIwA4gyFrNlhREqKyntMIQ0D2Gx0aL2aGo8,4166
8
+ qqmusic_api/song.py,sha256=_88chbJEAJi9sVGkLzZjPvE7CSwjrD83uDG8NefDkz0,9035
9
+ qqmusic_api/songlist.py,sha256=lFMkXxqRHgDFgwsawecWnvzeNmHWGqdvaMimJh4sp-Q,4178
10
10
  qqmusic_api/top.py,sha256=tZ17l0SbqJ0wDeRHJ7V5jvX4ZyoIEA-GCQHdZAIk648,792
11
- qqmusic_api/user.py,sha256=Sj25ZzdJjUE3KUgry9nih0V-a_iH4BLZ2kaMmccWivI,6678
11
+ qqmusic_api/user.py,sha256=WBJP5tp9fH4IiRUn75yIujPQc_GZ_njjiIwSvxj83ns,6689
12
12
  qqmusic_api/exceptions/__init__.py,sha256=KMohYPXJBcxigc1dpAioTPmPUHAQgOKXR4bkmv50EIQ,328
13
13
  qqmusic_api/exceptions/api_exception.py,sha256=CTex5NMVNk42oJE0ADFFtAFWK4smchkgPTgRyRHb7O4,1609
14
14
  qqmusic_api/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  qqmusic_api/utils/common.py,sha256=ntnuT5HlQvzeg5xX-netXS8tQZn2beE3bf3JJrmR7FU,2240
16
- qqmusic_api/utils/credential.py,sha256=v_qbsyIvSNeAzXN-81Lpg3SdhjN1rmj6-qu9T0zk73Q,4280
16
+ qqmusic_api/utils/credential.py,sha256=HHdAXRwm6c2N9A3RtN4fRlm__cPG8cZf6UW5hEalSLM,4201
17
17
  qqmusic_api/utils/device.py,sha256=fTfRtEWvTWVtB533_fm6cpRvnWwQL3i8S6n-xyGXum8,2952
18
18
  qqmusic_api/utils/network.py,sha256=kHvO9Le4sxpkRFtUE_uic2XfxPD9bJ_w_SHeT6haQDs,15202
19
19
  qqmusic_api/utils/qimei.py,sha256=LZEZdSdN8tAUmqKUZuM1sOCT_bBStY2oxofV6_JsXkU,5773
20
20
  qqmusic_api/utils/session.py,sha256=u-tSrQ5A8wy9ILJQrp8-bfyDTIkUhLlg0exmFXps9K8,3762
21
21
  qqmusic_api/utils/sign.py,sha256=WaG-93mJFv4FS7ueoxmMCOcnEW5KWRGYkePLceVc3_s,1363
22
22
  qqmusic_api/utils/tripledes.py,sha256=v_ivJ64MD3AZ8soN_7wx_3wL0rSBXCDeqe0GyOHrXLk,15852
23
- qqmusic_api_python-0.3.3.dist-info/METADATA,sha256=PuBAx3kotbGCe73IYmNK_02p2CW8FkJcx7PH_EZG-LU,3971
24
- qqmusic_api_python-0.3.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
25
- qqmusic_api_python-0.3.3.dist-info/licenses/LICENSE,sha256=dWHDhxdkwc4EVZ0xMf13_qTkjzPqbI1YL_1OzmZxaxU,1062
26
- qqmusic_api_python-0.3.3.dist-info/RECORD,,
23
+ qqmusic_api_python-0.3.4.dist-info/METADATA,sha256=lMy4mQjk6obW72skcvvSPZuOEdgSUeIO-iWH1nlGRAk,3911
24
+ qqmusic_api_python-0.3.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
25
+ qqmusic_api_python-0.3.4.dist-info/licenses/LICENSE,sha256=dWHDhxdkwc4EVZ0xMf13_qTkjzPqbI1YL_1OzmZxaxU,1062
26
+ qqmusic_api_python-0.3.4.dist-info/RECORD,,