From 3d0bc8b381193222d7abb16f20447ea7bec6127a Mon Sep 17 00:00:00 2001 From: hect0x7 <93357912+hect0x7@users.noreply.github.com> Date: Wed, 25 Dec 2024 22:28:22 +0800 Subject: [PATCH] =?UTF-8?q?v2.5.27:=20=E6=9B=B4=E6=96=B0=E7=BD=91=E9=A1=B5?= =?UTF-8?q?=E7=AB=AF=E6=94=B6=E8=97=8F=E5=A4=B9=E7=9A=84=E6=AD=A3=E5=88=99?= =?UTF-8?q?=E8=A1=A8=E8=BE=BE=E5=BC=8F;=E6=9B=B4=E6=96=B0=E6=96=87?= =?UTF-8?q?=E6=A1=A3=20(#319)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/docs/mkdocs.yml | 4 +++ assets/docs/requirements.txt | 1 + assets/docs/sources/api/client.md | 5 +++- assets/docs/sources/api/command-line.md | 6 ++++ assets/docs/sources/api/config.md | 8 ++++- assets/docs/sources/api/download.md | 9 +++++- assets/docs/sources/api/entity.md | 10 ++++++- assets/docs/sources/api/option.md | 6 +++- assets/docs/sources/api/plugin.md | 5 +++- assets/docs/sources/api/toolkit.md | 11 +++++++ assets/docs/sources/index.md | 2 +- .../docs/sources/tutorial/0_common_usage.md | 29 +++++++++++++++++++ src/jmcomic/__init__.py | 2 +- src/jmcomic/jm_toolkit.py | 2 +- 14 files changed, 91 insertions(+), 9 deletions(-) create mode 100644 assets/docs/sources/api/command-line.md create mode 100644 assets/docs/sources/api/toolkit.md diff --git a/assets/docs/mkdocs.yml b/assets/docs/mkdocs.yml index e75f830..42869ac 100644 --- a/assets/docs/mkdocs.yml +++ b/assets/docs/mkdocs.yml @@ -40,6 +40,10 @@ plugins: python: paths: [ '../../src/' ] options: + summary: + functions: true + preload_modules: + - common docstring_style: sphinx diff --git a/assets/docs/requirements.txt b/assets/docs/requirements.txt index 09cda52..951b006 100644 --- a/assets/docs/requirements.txt +++ b/assets/docs/requirements.txt @@ -2,3 +2,4 @@ mkdocs mkdocstrings[python] markdown-include mkdocs-material +commonX \ No newline at end of file diff --git a/assets/docs/sources/api/client.md b/assets/docs/sources/api/client.md index c2febb2..25b2d34 100644 --- a/assets/docs/sources/api/client.md +++ b/assets/docs/sources/api/client.md @@ -1,4 +1,7 @@ # client ::: jmcomic.jm_client_impl - + options: + members: + - JmHtmlClient + - JmApiClient diff --git a/assets/docs/sources/api/command-line.md b/assets/docs/sources/api/command-line.md new file mode 100644 index 0000000..6f44be8 --- /dev/null +++ b/assets/docs/sources/api/command-line.md @@ -0,0 +1,6 @@ +# command-line + +::: jmcomic.cl + options: + members: + - JmcomicUI diff --git a/assets/docs/sources/api/config.md b/assets/docs/sources/api/config.md index d07378a..3fad727 100644 --- a/assets/docs/sources/api/config.md +++ b/assets/docs/sources/api/config.md @@ -1,3 +1,9 @@ # config -::: jmcomic.jm_config.JmModuleConfig \ No newline at end of file +::: jmcomic.jm_config + options: + members: + - JmMagicConstants + - JmModuleConfig + - default_jm_logging + \ No newline at end of file diff --git a/assets/docs/sources/api/download.md b/assets/docs/sources/api/download.md index 78fced7..54ba7e2 100644 --- a/assets/docs/sources/api/download.md +++ b/assets/docs/sources/api/download.md @@ -1,4 +1,11 @@ # download ::: jmcomic.api - + options: + members: + - download_album + - download_photo + - create_option + - create_option_by_env + - create_option_by_file + - create_option_by_str diff --git a/assets/docs/sources/api/entity.md b/assets/docs/sources/api/entity.md index 1cb964c..a019598 100644 --- a/assets/docs/sources/api/entity.md +++ b/assets/docs/sources/api/entity.md @@ -1,3 +1,11 @@ # entity -::: jmcomic.jm_entity \ No newline at end of file +::: jmcomic.jm_entity + options: + inherited_members: true + members: + - JmAlbumDetail + - JmPhotoDetail + - JmImageDetail + - JmPageContent + - JmSearchPage \ No newline at end of file diff --git a/assets/docs/sources/api/option.md b/assets/docs/sources/api/option.md index b9cd646..6370f32 100644 --- a/assets/docs/sources/api/option.md +++ b/assets/docs/sources/api/option.md @@ -1,3 +1,7 @@ # option -::: jmcomic.jm_option.JmOption \ No newline at end of file +::: jmcomic.jm_option + options: + members: + - DirRule + - JmOption diff --git a/assets/docs/sources/api/plugin.md b/assets/docs/sources/api/plugin.md index 8a022d9..732963a 100644 --- a/assets/docs/sources/api/plugin.md +++ b/assets/docs/sources/api/plugin.md @@ -1,3 +1,6 @@ # plugin -::: jmcomic.jm_plugin \ No newline at end of file +::: jmcomic.jm_plugin + options: + filters: + - Plugin$ \ No newline at end of file diff --git a/assets/docs/sources/api/toolkit.md b/assets/docs/sources/api/toolkit.md new file mode 100644 index 0000000..39c67ba --- /dev/null +++ b/assets/docs/sources/api/toolkit.md @@ -0,0 +1,11 @@ +# toolkit + +::: jmcomic.jm_toolkit + options: + inherited_members: true + members: + - JmcomicText + - PatternTool + - JmPageTool + - JmImageTool + - JmCryptoTool \ No newline at end of file diff --git a/assets/docs/sources/index.md b/assets/docs/sources/index.md index 645b19b..bc3bd22 100644 --- a/assets/docs/sources/index.md +++ b/assets/docs/sources/index.md @@ -14,7 +14,7 @@ ## 入门 - [快速上手(GitHub README)](https://github.com/hect0x7/JMComic-Crawler-Python/tree/master?tab=readme-ov-file#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B) -- [常用类和方法演示](tutorial/0_common_usage) +- [常用类和方法演示](tutorial/0_common_usage.md) - [option配置以及插件写法](./option_file_syntax.md) diff --git a/assets/docs/sources/tutorial/0_common_usage.md b/assets/docs/sources/tutorial/0_common_usage.md index 7bc5afb..0ea0c96 100644 --- a/assets/docs/sources/tutorial/0_common_usage.md +++ b/assets/docs/sources/tutorial/0_common_usage.md @@ -146,6 +146,35 @@ for aid, atitle, tag_list in page.iter_id_title_tag(): # 使用page的iter_id_t download_album(aid_list, option) ``` +## 获取收藏夹 + +可参考discussions: https://github.com/hect0x7/JMComic-Crawler-Python/discussions/235 + +```python +from jmcomic import * + +option = JmOption.default() +client = option.new_jm_client() +client.login('用户名', '密码') # 也可以使用login插件/配置cookies + +# 遍历全部收藏的所有页 +for page in cl.favorite_folder_gen(): # 如果你只想获取特定收藏夹,需要添加folder_id参数 + # 遍历每页结果 + for aid, atitle in page.iter_id_title(): + # aid: 本子的album_id + # atitle: 本子的名称 + print(aid) + # 打印当前帐号的所有收藏夹信息 + for folder_id, folder_name in page.iter_folder_id_name(): + print(f'收藏夹id: {folder_id}, 收藏夹名称: {folder_name}') + +# 获取特定收藏夹的单页,使用favorite_folder方法 +page = cl.favorite_folder(page=1, + order_by=JmMagicConstants.ORDER_BY_LATEST, + folder_id='0' # 收藏夹id + ) +``` + ## 分类 / 排行榜 禁漫的分类是一个和搜索有些类似的功能。 diff --git a/src/jmcomic/__init__.py b/src/jmcomic/__init__.py index c8af81d..b3c085f 100644 --- a/src/jmcomic/__init__.py +++ b/src/jmcomic/__init__.py @@ -2,7 +2,7 @@ # 被依赖方 <--- 使用方 # config <--- entity <--- toolkit <--- client <--- option <--- downloader -__version__ = '2.5.26' +__version__ = '2.5.27' from .api import * from .jm_plugin import * diff --git a/src/jmcomic/jm_toolkit.py b/src/jmcomic/jm_toolkit.py index 6da4bfe..32c98f7 100644 --- a/src/jmcomic/jm_toolkit.py +++ b/src/jmcomic/jm_toolkit.py @@ -397,7 +397,7 @@ class JmPageTool: # 收藏页面的本子结果 pattern_html_favorite_content = compile( r'