qqmusic-api-python 0.2.1__tar.gz → 0.2.2__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 (54) hide show
  1. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/PKG-INFO +1 -1
  2. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/__init__.py +1 -1
  3. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/lyric.py +7 -7
  4. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/.gitignore +0 -0
  5. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/LICENSE +0 -0
  6. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/README.md +0 -0
  7. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/pyproject.toml +0 -0
  8. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/album.py +0 -0
  9. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/album.json +0 -0
  10. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/login.json +0 -0
  11. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/lyric.json +0 -0
  12. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/mv.json +0 -0
  13. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/search.json +0 -0
  14. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/singer.json +0 -0
  15. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/song.json +0 -0
  16. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/songlist.json +0 -0
  17. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/top.json +0 -0
  18. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/api/user.json +0 -0
  19. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/file_type.json +0 -0
  20. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/data/search_type.json +0 -0
  21. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/exceptions/__init__.py +0 -0
  22. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/exceptions/api_exception.py +0 -0
  23. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/login.py +0 -0
  24. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/login_utils.py +0 -0
  25. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/mv.py +0 -0
  26. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/search.py +0 -0
  27. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/singer.py +0 -0
  28. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/song.py +0 -0
  29. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/songlist.py +0 -0
  30. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/top.py +0 -0
  31. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/user.py +0 -0
  32. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/__init__.py +0 -0
  33. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/common.py +0 -0
  34. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/credential.py +0 -0
  35. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/device.py +0 -0
  36. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/network.py +0 -0
  37. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/qimei.py +0 -0
  38. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/session.py +0 -0
  39. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/sign.py +0 -0
  40. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/sync.py +0 -0
  41. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/qqmusic_api/utils/tripledes.py +0 -0
  42. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/conftest.py +0 -0
  43. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_album.py +0 -0
  44. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_login.py +0 -0
  45. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_lyric.py +0 -0
  46. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_mv.py +0 -0
  47. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_qimei.py +0 -0
  48. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_search.py +0 -0
  49. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_sign.py +0 -0
  50. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_singer.py +0 -0
  51. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_song.py +0 -0
  52. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_songlist.py +0 -0
  53. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_top.py +0 -0
  54. {qqmusic_api_python-0.2.1 → qqmusic_api_python-0.2.2}/tests/test_user.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qqmusic-api-python
3
- Version: 0.2.1
3
+ Version: 0.2.2
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
@@ -5,7 +5,7 @@ from .utils.credential import Credential
5
5
  from .utils.session import create_session, get_session, set_session, set_session_credential
6
6
  from .utils.sync import sync
7
7
 
8
- __version__ = "0.2.1"
8
+ __version__ = "0.2.2"
9
9
 
10
10
  logger = logging.getLogger("qqmusicapi")
11
11
 
@@ -1,12 +1,14 @@
1
1
  """歌词 API"""
2
2
 
3
- import xml.etree.ElementTree as ET
3
+ import re
4
4
 
5
5
  from .utils.common import get_api, qrc_decrypt
6
6
  from .utils.network import Api
7
7
 
8
8
  API = get_api("lyric")
9
9
 
10
+ QRC_PATTERN = re.compile(r'<Lyric_.* LyricType=".*" LyricContent="(?P<content>.*?)"/>', re.DOTALL)
11
+
10
12
 
11
13
  async def get_lyric(
12
14
  *,
@@ -52,14 +54,12 @@ async def get_lyric(
52
54
  res = await Api(**API["info"]).update_params(**params).result
53
55
 
54
56
  lyric = qrc_decrypt(res["lyric"])
57
+
55
58
 
56
59
  if lyric and qrc:
57
- try:
58
- root = ET.fromstring(lyric)
59
- lyric_info = root[1]
60
- lyric = lyric_info[0].attrib.get("LyricContent", lyric)
61
- except Exception:
62
- pass
60
+ m_qrc = QRC_PATTERN.search(lyric)
61
+ if m_qrc and m_qrc.group("content"):
62
+ lyric = m_qrc.group("content")
63
63
 
64
64
  return {
65
65
  "lyric": lyric,