kmoe-manga-downloader 1.2.7__tar.gz → 1.2.8a0__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.
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/PKG-INFO +1 -1
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/_version.py +3 -3
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/utils.py +16 -2
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/downloader/download_utils.py +4 -1
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmoe_manga_downloader.egg-info/PKG-INFO +1 -1
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.github/workflows/release-package.yml +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.github/workflows/unit-test.yml +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.gitignore +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/LICENSE +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/README.md +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/assets/kmdr-demo.gif +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/assets/kmdr-log-demo.gif +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/mirror/mirrors.json +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/pyproject.toml +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/setup.cfg +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/bases.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/console.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/constants.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/context.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/defaults.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/error.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/protocol.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/registry.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/session.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/core/structure.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/main.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/authenticator/CookieAuthenticator.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/authenticator/LoginAuthenticator.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/authenticator/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/authenticator/utils.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/BaseUrlUpdator.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/ConfigClearer.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/ConfigUnsetter.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/OptionLister.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/OptionSetter.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/option_validate.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/downloader/DirectDownloader.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/downloader/ReferViaDownloader.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/downloader/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/downloader/misc.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/lister/BookUrlLister.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/lister/FollowedBookLister.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/lister/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/lister/utils.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/picker/ArgsFilterPicker.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/picker/DefaultVolPicker.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/picker/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/picker/utils.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmoe_manga_downloader.egg-info/SOURCES.txt +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmoe_manga_downloader.egg-info/dependency_links.txt +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmoe_manga_downloader.egg-info/entry_points.txt +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmoe_manga_downloader.egg-info/requires.txt +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmoe_manga_downloader.egg-info/top_level.txt +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/__init__.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/test_async_retry_decorator.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/test_kmdr_config_option.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/test_kmdr_download.py +0 -0
- {kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/test_utils_resolve_volme.py +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.2.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 2,
|
|
31
|
+
__version__ = version = '1.2.8a0'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 2, 8, 'a0')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g32d79b016'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import functools
|
|
2
|
-
from typing import Optional, Callable, TypeVar, Hashable, Generic
|
|
2
|
+
from typing import Optional, Callable, TypeVar, Hashable, Generic, Mapping, Any
|
|
3
3
|
import asyncio
|
|
4
4
|
from asyncio.proactor_events import _ProactorBasePipeTransport
|
|
5
5
|
|
|
@@ -146,4 +146,18 @@ def _silence_event_loop_closed(func):
|
|
|
146
146
|
|
|
147
147
|
return wrapper
|
|
148
148
|
|
|
149
|
-
_ProactorBasePipeTransport.__del__ = _silence_event_loop_closed(_ProactorBasePipeTransport.__del__)
|
|
149
|
+
_ProactorBasePipeTransport.__del__ = _silence_event_loop_closed(_ProactorBasePipeTransport.__del__)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
SENSITIVE_KEYS = {'cookie', 'authorization', 'proxy-authorization', 'set-cookie'}
|
|
154
|
+
"""定义需要脱敏的字段(全部小写以便不区分大小写匹配)"""
|
|
155
|
+
|
|
156
|
+
def sanitize_headers(headers: Mapping[str, Any]) -> dict:
|
|
157
|
+
"""
|
|
158
|
+
清洗 HTTP 头信息,隐藏敏感字段(如 Cookie, Authorization)。
|
|
159
|
+
"""
|
|
160
|
+
return {
|
|
161
|
+
k: '******' if k.lower() in SENSITIVE_KEYS else v
|
|
162
|
+
for k, v in headers.items()
|
|
163
|
+
}
|
|
@@ -15,7 +15,7 @@ from aiohttp.client_exceptions import ClientPayloadError
|
|
|
15
15
|
|
|
16
16
|
from kmdr.core.console import info, log, debug
|
|
17
17
|
from kmdr.core.error import ResponseError
|
|
18
|
-
from kmdr.core.utils import async_retry
|
|
18
|
+
from kmdr.core.utils import async_retry, sanitize_headers
|
|
19
19
|
|
|
20
20
|
from .misc import STATUS, StateManager
|
|
21
21
|
|
|
@@ -319,6 +319,9 @@ async def _download_part(
|
|
|
319
319
|
debug("开始下载分片:", os.path.basename(part_path), "范围:", current_start, "-", end)
|
|
320
320
|
async with session.get(url, headers=local_headers) as response:
|
|
321
321
|
response.raise_for_status()
|
|
322
|
+
debug("分片", os.path.basename(part_path), "状态码:", response.status)
|
|
323
|
+
debug("分片", os.path.basename(part_path), "请求头:", sanitize_headers(response.request_info.headers))
|
|
324
|
+
debug("分片", os.path.basename(part_path), "响应头:", sanitize_headers(response.headers))
|
|
322
325
|
|
|
323
326
|
await state_manager.request_status_update(part_id=start, status=STATUS.DOWNLOADING)
|
|
324
327
|
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.github/ISSUE_TEMPLATE/bug_report.yml
RENAMED
|
File without changes
|
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.github/workflows/release-package.yml
RENAMED
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/.github/workflows/unit-test.yml
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
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/authenticator/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/configurer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/downloader/__init__.py
RENAMED
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/downloader/misc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/lister/__init__.py
RENAMED
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/lister/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/picker/__init__.py
RENAMED
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/src/kmdr/module/picker/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/test_async_retry_decorator.py
RENAMED
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/test_kmdr_config_option.py
RENAMED
|
File without changes
|
|
File without changes
|
{kmoe_manga_downloader-1.2.7 → kmoe_manga_downloader-1.2.8a0}/tests/test_utils_resolve_volme.py
RENAMED
|
File without changes
|