aioqzone 1.9.4.dev5__tar.gz → 1.9.4.dev6__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.
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.github/workflows/auto-pr.yml +1 -1
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.github/workflows/build.yml +1 -1
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.github/workflows/codeql-analysis.yml +1 -1
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.github/workflows/sphinx.yml +2 -2
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.github/workflows/test.yml +1 -1
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/PKG-INFO +1 -1
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/pyproject.toml +2 -2
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/api/feed.py +6 -1
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/api/test_loginman.py +1 -2
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/login_logic/test_captcha.py +1 -2
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/login_logic/test_qr.py +1 -2
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/login_logic/test_up.py +1 -2
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/uv.lock +17 -6
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.github/dependabot.yml +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.gitignore +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/.pre-commit-config.yaml +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/CONTRIBUTING.md +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/LICENSE +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/README.md +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/README_en.md +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/cliff.toml +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/_static/penguin-blob.webp +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/_static/teaencoder.ts +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/api/h5.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/api/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/api/login.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/exception.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/messages.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/model/api.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/model/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/model/protocol.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/aioqzone/reference.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/conf.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/disclaimers.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/api/h5.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/api/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/api/login.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/api/web.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/exception.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/messages.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/model/api.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/model/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/model/protocol.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/model/response.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/reference.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/disclaimers.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/base.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/exception.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/jsjson.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/qr/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/qr/login.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/qr/type.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/captcha/capsess.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/captcha/captcha.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/captcha/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/captcha/jigsaw.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/encrypt.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/index.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/login.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/type.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/reference.po +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/base.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/exception.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/jsjson.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/qr/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/qr/login.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/qr/type.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/up/captcha/capsess.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/up/captcha/captcha.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/up/captcha/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/up/encrypt.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/up/index.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/up/login.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/qqqr/up/type.rst +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/api/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/api/h5/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/api/h5/model.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/api/login/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/api/login/_base.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/exception.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/message.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/api/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/api/profile.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/api/request.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/api/response.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/protocol/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/protocol/config.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/model/protocol/entity.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/utils/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/utils/entity.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/utils/regex.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/utils/retry.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/aioqzone/utils/time.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/base.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/constant.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/exception.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/message.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/py.typed +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/qr/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/qr/type.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/type.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/_model.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/_model.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/capsess.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/click/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/click/_types.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/pil_utils.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/select/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/select/_types.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/slide/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/captcha/slide/_types.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/encrypt.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/h5.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/up/web.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/utils/encrypt.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/utils/iter.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/utils/jsjson.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/src/qqqr/utils/net.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/api/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/api/conftest.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/api/test_h5.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/conftest.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/login_logic/__init__.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/utils/test_entity.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/utils/test_json.py +0 -0
- {aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/test/utils/test_time.py +0 -0
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
#----------------------------------------------
|
|
24
24
|
# check-out repo and set-up python
|
|
25
25
|
#----------------------------------------------
|
|
26
|
-
- uses: actions/checkout@
|
|
26
|
+
- uses: actions/checkout@v5
|
|
27
27
|
- uses: astral-sh/setup-uv@v6
|
|
28
28
|
#----------------------------------------------
|
|
29
29
|
# -------- Build and release ---------
|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
permissions:
|
|
24
24
|
contents: read
|
|
25
25
|
steps:
|
|
26
|
-
- uses: actions/checkout@
|
|
26
|
+
- uses: actions/checkout@v5
|
|
27
27
|
- uses: actions/configure-pages@v5
|
|
28
28
|
- uses: astral-sh/setup-uv@v6
|
|
29
29
|
with:
|
|
@@ -47,7 +47,7 @@ jobs:
|
|
|
47
47
|
|
|
48
48
|
- name: Upload artifact
|
|
49
49
|
if: github.event_name == 'push'
|
|
50
|
-
uses: actions/upload-pages-artifact@
|
|
50
|
+
uses: actions/upload-pages-artifact@v4
|
|
51
51
|
with:
|
|
52
52
|
path: doc/build/html
|
|
53
53
|
|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
#----------------------------------------------
|
|
24
24
|
# check-out repo and set-up python
|
|
25
25
|
#----------------------------------------------
|
|
26
|
-
- uses: actions/checkout@
|
|
26
|
+
- uses: actions/checkout@v5
|
|
27
27
|
- uses: astral-sh/setup-uv@v6
|
|
28
28
|
with:
|
|
29
29
|
python-version: ${{ matrix.python-version }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "aioqzone"
|
|
3
|
-
version = "1.9.4.
|
|
3
|
+
version = "1.9.4.dev6"
|
|
4
4
|
description = "A Python wrapper for Qzone login and H5 APIs."
|
|
5
5
|
authors = [{ name = "aioqzone" }]
|
|
6
6
|
maintainers = [
|
|
@@ -37,7 +37,7 @@ Documentation = "https://aioqzone.github.io/aioqzone"
|
|
|
37
37
|
"Discussion" = "https://t.me/aioqzone_chatroom"
|
|
38
38
|
|
|
39
39
|
[dependency-groups]
|
|
40
|
-
test = ["pytest>=8.2.0", "pytest-asyncio~=
|
|
40
|
+
test = ["pytest>=8.2.0", "pytest-asyncio~=1.1.0"]
|
|
41
41
|
dev = ["pre-commit", "ruff"]
|
|
42
42
|
doc = [
|
|
43
43
|
"Sphinx>=7.0.1; python_version>='3.9' and python_version<'3.11'",
|
|
@@ -96,7 +96,12 @@ class PhotoUrl(BaseModel):
|
|
|
96
96
|
class PhotoUrls(RootModel[t.Set[PhotoUrl]]):
|
|
97
97
|
@model_validator(mode="before")
|
|
98
98
|
def unpack_urls(cls, v: dict):
|
|
99
|
-
return list(
|
|
99
|
+
return list(
|
|
100
|
+
filter(
|
|
101
|
+
lambda d: isinstance(d, dict) and d.get("url"),
|
|
102
|
+
v.values(),
|
|
103
|
+
)
|
|
104
|
+
)
|
|
100
105
|
|
|
101
106
|
@property
|
|
102
107
|
def largest(self) -> PhotoUrl:
|
|
@@ -20,9 +20,8 @@ from qqqr.exception import TencentLoginError, UserBreak
|
|
|
20
20
|
from qqqr.utils.net import ClientAdapter
|
|
21
21
|
|
|
22
22
|
if TYPE_CHECKING:
|
|
23
|
-
from test.conftest import test_env
|
|
24
|
-
|
|
25
23
|
from qqqr.utils.net import ClientAdapter
|
|
24
|
+
from test.conftest import test_env
|
|
26
25
|
|
|
27
26
|
pytestmark = pytest.mark.asyncio(loop_scope="module")
|
|
28
27
|
skip_ci = pytest.mark.skipif(bool(environ.get("CI")), reason="Skip QR loop in CI")
|
|
@@ -11,10 +11,9 @@ from qqqr.up import UpH5Login
|
|
|
11
11
|
from qqqr.up.captcha import Captcha, SelectCaptchaSession, TcaptchaSession
|
|
12
12
|
|
|
13
13
|
if TYPE_CHECKING:
|
|
14
|
-
from test.conftest import test_env
|
|
15
|
-
|
|
16
14
|
from qqqr.up.web import UpWebSession
|
|
17
15
|
from qqqr.utils.net import ClientAdapter
|
|
16
|
+
from test.conftest import test_env
|
|
18
17
|
|
|
19
18
|
pytestmark = pytest.mark.asyncio(loop_scope="module")
|
|
20
19
|
|
|
@@ -17,9 +17,8 @@ pytestmark = pytest.mark.asyncio(loop_scope="module")
|
|
|
17
17
|
skip_ci = pytest.mark.skipif(bool(environ.get("CI")), reason="Skip QR loop in CI")
|
|
18
18
|
|
|
19
19
|
if TYPE_CHECKING:
|
|
20
|
-
from test.conftest import test_env
|
|
21
|
-
|
|
22
20
|
from qqqr.utils.net import ClientAdapter
|
|
21
|
+
from test.conftest import test_env
|
|
23
22
|
|
|
24
23
|
NoneType = type(None)
|
|
25
24
|
|
|
@@ -11,9 +11,8 @@ from qqqr.exception import TencentLoginError
|
|
|
11
11
|
from qqqr.up import UpH5Login, UpWebLogin
|
|
12
12
|
|
|
13
13
|
if TYPE_CHECKING:
|
|
14
|
-
from test.conftest import test_env
|
|
15
|
-
|
|
16
14
|
from qqqr.utils.net import ClientAdapter
|
|
15
|
+
from test.conftest import test_env
|
|
17
16
|
|
|
18
17
|
pytestmark = pytest.mark.asyncio(loop_scope="module")
|
|
19
18
|
skip_ci = pytest.mark.skipif(bool(environ.get("CI")), reason="Skip QR loop in CI")
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
-
revision =
|
|
2
|
+
revision = 3
|
|
3
3
|
requires-python = ">=3.9"
|
|
4
4
|
resolution-markers = [
|
|
5
5
|
"python_full_version >= '3.11'",
|
|
@@ -116,7 +116,7 @@ wheels = [
|
|
|
116
116
|
|
|
117
117
|
[[package]]
|
|
118
118
|
name = "aioqzone"
|
|
119
|
-
version = "1.9.4.
|
|
119
|
+
version = "1.9.4.dev6"
|
|
120
120
|
source = { editable = "." }
|
|
121
121
|
dependencies = [
|
|
122
122
|
{ name = "aiohttp" },
|
|
@@ -184,7 +184,7 @@ doc = [
|
|
|
184
184
|
]
|
|
185
185
|
test = [
|
|
186
186
|
{ name = "pytest", specifier = ">=8.2.0" },
|
|
187
|
-
{ name = "pytest-asyncio", specifier = "~=
|
|
187
|
+
{ name = "pytest-asyncio", specifier = "~=1.1.0" },
|
|
188
188
|
]
|
|
189
189
|
|
|
190
190
|
[[package]]
|
|
@@ -275,6 +275,15 @@ wheels = [
|
|
|
275
275
|
{ url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" },
|
|
276
276
|
]
|
|
277
277
|
|
|
278
|
+
[[package]]
|
|
279
|
+
name = "backports-asyncio-runner"
|
|
280
|
+
version = "1.2.0"
|
|
281
|
+
source = { registry = "https://pypi.org/simple" }
|
|
282
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8e/ff/70dca7d7cb1cbc0edb2c6cc0c38b65cba36cccc491eca64cabd5fe7f8670/backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162", size = 69893, upload-time = "2025-07-02T02:27:15.685Z" }
|
|
283
|
+
wheels = [
|
|
284
|
+
{ url = "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5", size = 12313, upload-time = "2025-07-02T02:27:14.263Z" },
|
|
285
|
+
]
|
|
286
|
+
|
|
278
287
|
[[package]]
|
|
279
288
|
name = "beautifulsoup4"
|
|
280
289
|
version = "4.13.4"
|
|
@@ -1378,14 +1387,16 @@ wheels = [
|
|
|
1378
1387
|
|
|
1379
1388
|
[[package]]
|
|
1380
1389
|
name = "pytest-asyncio"
|
|
1381
|
-
version = "
|
|
1390
|
+
version = "1.1.0"
|
|
1382
1391
|
source = { registry = "https://pypi.org/simple" }
|
|
1383
1392
|
dependencies = [
|
|
1393
|
+
{ name = "backports-asyncio-runner", marker = "python_full_version < '3.11'" },
|
|
1384
1394
|
{ name = "pytest" },
|
|
1395
|
+
{ name = "typing-extensions", marker = "python_full_version < '3.10'" },
|
|
1385
1396
|
]
|
|
1386
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1397
|
+
sdist = { url = "https://files.pythonhosted.org/packages/4e/51/f8794af39eeb870e87a8c8068642fc07bce0c854d6865d7dd0f2a9d338c2/pytest_asyncio-1.1.0.tar.gz", hash = "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea", size = 46652, upload-time = "2025-07-16T04:29:26.393Z" }
|
|
1387
1398
|
wheels = [
|
|
1388
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1399
|
+
{ url = "https://files.pythonhosted.org/packages/c7/9d/bf86eddabf8c6c9cb1ea9a869d6873b46f105a5d292d3a6f7071f5b07935/pytest_asyncio-1.1.0-py3-none-any.whl", hash = "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf", size = 15157, upload-time = "2025-07-16T04:29:24.929Z" },
|
|
1389
1400
|
]
|
|
1390
1401
|
|
|
1391
1402
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/api/h5.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/api/web.po
RENAMED
|
File without changes
|
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/index.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/aioqzone/messages.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/disclaimers.po
RENAMED
|
File without changes
|
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/base.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/exception.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/index.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/jsjson.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/qr/index.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/qr/login.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/qr/type.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/encrypt.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/index.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/login.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/qqqr/up/type.po
RENAMED
|
File without changes
|
{aioqzone-1.9.4.dev5 → aioqzone-1.9.4.dev6}/doc/source/locale/zh_CN/LC_MESSAGES/reference.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|