From cb6f78970bdcc0a9612cb5838433a3522f6f8662 Mon Sep 17 00:00:00 2001 From: hect0x7 <93357912+hect0x7@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:05:47 +0800 Subject: [PATCH 1/3] =?UTF-8?q?v2.6.3:=20=E6=9B=B4=E6=96=B0=E7=A6=81?= =?UTF-8?q?=E6=BC=AB=E5=9F=9F=E5=90=8D=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=EF=BC=8C=E4=BC=98=E5=8C=96=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../docs/sources/tutorial/0_common_usage.md | 12 +++--- pyproject.toml | 42 +++++++++++++++++++ src/jmcomic/__init__.py | 2 +- src/jmcomic/jm_config.py | 2 +- tests/test_jmcomic/test_jm_client.py | 1 + 6 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 pyproject.toml diff --git a/README.md b/README.md index bba6ac41d..07afce1af 100644 --- a/README.md +++ b/README.md @@ -165,7 +165,7 @@ jmcomic 123 ## 使用小说明 -* Python >= 3.7 +* Python >= 3.7,建议3.9以上,因为jmcomic的依赖库可能会不支持3.9以下的版本。 * 个人项目,文档和示例会有不及时之处,可以Issue提问 ## 项目文件夹介绍 diff --git a/assets/docs/sources/tutorial/0_common_usage.md b/assets/docs/sources/tutorial/0_common_usage.md index 7ca8472e2..69c647bc3 100644 --- a/assets/docs/sources/tutorial/0_common_usage.md +++ b/assets/docs/sources/tutorial/0_common_usage.md @@ -126,6 +126,8 @@ client = JmOption.default().new_jm_client() # 分页查询,search_site就是禁漫网页上的【站内搜索】 page: JmSearchPage = client.search_site(search_query='+MANA +无修正', page=1) +print(f'结果总数: {page.total}, 分页大小: {page.page_size},页数: {page.page_count}') + # page默认的迭代方式是page.iter_id_title(),每次迭代返回 albun_id, title for album_id, title in page: print(f'[{album_id}]: {title}') @@ -168,10 +170,10 @@ from jmcomic import * option = JmOption.default() client = option.new_jm_client() -client.login('用户名', '密码') # 也可以使用login插件/配置cookies +client.login('用户名', '密码') # 也可以使用login插件/配置cookies # 遍历全部收藏的所有页 -for page in cl.favorite_folder_gen(): # 如果你只想获取特定收藏夹,需要添加folder_id参数 +for page in client.favorite_folder_gen(): # 如果你只想获取特定收藏夹,需要添加folder_id参数 # 遍历每页结果 for aid, atitle in page.iter_id_title(): # aid: 本子的album_id @@ -183,9 +185,9 @@ for page in cl.favorite_folder_gen(): # 如果你只想获取特定收藏夹, # 获取特定收藏夹的单页,使用favorite_folder方法 page = client.favorite_folder(page=1, - order_by=JmMagicConstants.ORDER_BY_LATEST, - folder_id='0' # 收藏夹id - ) + order_by=JmMagicConstants.ORDER_BY_LATEST, + folder_id='0' # 收藏夹id + ) ``` ## 分类 / 排行榜 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..f5036b420 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,42 @@ +[build-system] +requires = ["setuptools"] + +[project] +name = "jmcomic" +authors = [{name = "hect0x7", email = "93357912+hect0x7@users.noreply.github.com"}] +description = "Python API For JMComic (禁漫天堂)" +readme = "README.md" +requires-python = ">=3.7" +keywords=['python', 'jmcomic', '18comic', '禁漫天堂', 'NSFW'] +classifiers=[ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Operating System :: MacOS", + "Operating System :: POSIX :: Linux", + "Operating System :: Microsoft :: Windows", +] +dependencies = [ + "commonx>=0.6.38", + "curl-cffi", + "pillow", + "pycryptodome", + "pyyaml", +] +dynamic = ["version"] + +[project.urls] +Homepage = "https://github.com/hect0x7/JMComic-Crawler-Python" +Documentation = "https://jmcomic.readthedocs.io" + +[project.scripts] +jmcomic = "jmcomic.cl:main" + +[tool.setuptools.dynamic] +version = {attr = "jmcomic.__version__"} \ No newline at end of file diff --git a/src/jmcomic/__init__.py b/src/jmcomic/__init__.py index e482e29dc..ff5258320 100644 --- a/src/jmcomic/__init__.py +++ b/src/jmcomic/__init__.py @@ -2,7 +2,7 @@ # 被依赖方 <--- 使用方 # config <--- entity <--- toolkit <--- client <--- option <--- downloader -__version__ = '2.6.2' +__version__ = '2.6.3' from .api import * from .jm_plugin import * diff --git a/src/jmcomic/jm_config.py b/src/jmcomic/jm_config.py index 72880a238..986f623b5 100644 --- a/src/jmcomic/jm_config.py +++ b/src/jmcomic/jm_config.py @@ -136,7 +136,7 @@ class JmModuleConfig: ''') # 获取最新移动端API域名的地址 - API_URL_DOMAIN_SERVER = f'{PROT}jmappc01-1308024008.cos.ap-guangzhou.myqcloud.com/server-2024.txt' + API_URL_DOMAIN_SERVER = f'{PROT}jmapp03-1308024008.cos.ap-jakarta.myqcloud.com/server-2024.txt' APP_HEADERS_TEMPLATE = { 'Accept-Encoding': 'gzip, deflate', diff --git a/tests/test_jmcomic/test_jm_client.py b/tests/test_jmcomic/test_jm_client.py index c3c76be8c..ed072b689 100644 --- a/tests/test_jmcomic/test_jm_client.py +++ b/tests/test_jmcomic/test_jm_client.py @@ -17,6 +17,7 @@ def test_fetch_album(self): def test_search(self): page: JmSearchPage = self.client.search_tag('+无修正 +中文 -全彩') + print(f'总数: {page.total}, 分页大小: {page.page_size},页数: {page.page_count}') if len(page) >= 1: for aid, ainfo in page[0:1:1]: From 9e2314941e5cb8cf87b975d8012b4b20926555e9 Mon Sep 17 00:00:00 2001 From: hect0x7 <93357912+hect0x7@users.noreply.github.com> Date: Thu, 17 Jul 2025 00:44:43 +0800 Subject: [PATCH 2/3] trusted-publishers --- .github/workflows/release_auto.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release_auto.yml b/.github/workflows/release_auto.yml index 2f9967b63..2fe2804f3 100644 --- a/.github/workflows/release_auto.yml +++ b/.github/workflows/release_auto.yml @@ -10,6 +10,8 @@ on: jobs: release: runs-on: ubuntu-latest + permissions: + id-token: write if: startsWith(github.event.head_commit.message, 'v') steps: - uses: actions/checkout@v4 @@ -40,5 +42,5 @@ jobs: - name: Release PYPI uses: pypa/gh-action-pypi-publish@release/v1 - with: - password: ${{ secrets.PYPI_JMCOMIC }} +# with: +# password: ${{ secrets.PYPI_JMCOMIC }} From 3e9d012773bb86ce39fca051d0d921b7132a6cd7 Mon Sep 17 00:00:00 2001 From: hect0x7 <93357912+hect0x7@users.noreply.github.com> Date: Thu, 17 Jul 2025 00:49:48 +0800 Subject: [PATCH 3/3] trusted-publishers --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index f5036b420..bd564b630 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,9 +7,11 @@ authors = [{name = "hect0x7", email = "93357912+hect0x7@users.noreply.github.com description = "Python API For JMComic (禁漫天堂)" readme = "README.md" requires-python = ">=3.7" +license = {file = "LICENSE"} keywords=['python', 'jmcomic', '18comic', '禁漫天堂', 'NSFW'] classifiers=[ "Development Status :: 4 - Beta", + "License :: OSI Approved :: MIT License", "Intended Audience :: Developers", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8",