parsehub 2.0.24__tar.gz → 2.0.25__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.
- {parsehub-2.0.24/src/parsehub.egg-info → parsehub-2.0.25}/PKG-INFO +1 -1
- {parsehub-2.0.24 → parsehub-2.0.25}/pyproject.toml +1 -1
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/types/result.py +8 -4
- {parsehub-2.0.24 → parsehub-2.0.25/src/parsehub.egg-info}/PKG-INFO +1 -1
- {parsehub-2.0.24 → parsehub-2.0.25}/LICENSE +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/README.md +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/setup.cfg +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/cli.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/cli_config.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/config/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/config/config.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/errors.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/base/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/base/base.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/base/ytdlp.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/bilibili.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/coolapk.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/douyin.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/facebook.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/instagram.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/kuaishou.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/pipix.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/threads.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/tieba.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/tiktok.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/twitter.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/weibo.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/weixin.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/xhs.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/xiaoheihe.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/youtube.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/parsers/parser/zuiyou.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/bilibili.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/coolapk.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/douyin.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/instagram.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/kuaishou.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/pipix.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/threads.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/tieba.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/tiktok.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/twitter.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/weibo.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/weixin.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/xhs.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/xiaoheihe.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/provider_api/zuiyou.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/types/__init__.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/types/callback.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/types/media_file.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/types/media_ref.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/types/platform.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/types/post.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/utils/downloader.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/utils/media_info.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub/utils/utils.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub.egg-info/SOURCES.txt +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub.egg-info/dependency_links.txt +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub.egg-info/entry_points.txt +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub.egg-info/requires.txt +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/src/parsehub.egg-info/top_level.txt +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/test/test_cli.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/test/test_cli_config.py +0 -0
- {parsehub-2.0.24 → parsehub-2.0.25}/test/test_core_offline.py +0 -0
|
@@ -48,8 +48,9 @@ class ParseResult(ABC): # noqa: B024
|
|
|
48
48
|
self.platform = platform
|
|
49
49
|
|
|
50
50
|
def __repr__(self) -> str:
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
media_count = (
|
|
52
|
+
f"[{len(self.media if isinstance(self.media, Sequence) else [self.media])}]" if self.media else None
|
|
53
|
+
)
|
|
53
54
|
return (
|
|
54
55
|
f"{self.__class__.__name__}(platform={self.platform}, title={self.title or ''},"
|
|
55
56
|
f" content={self.content or ''}, media={media_count}, "
|
|
@@ -356,7 +357,7 @@ class RichTextParseResult(ParseResult):
|
|
|
356
357
|
|
|
357
358
|
|
|
358
359
|
class DownloadResult:
|
|
359
|
-
def __init__(self, media: AnyMediaFile |
|
|
360
|
+
def __init__(self, media: AnyMediaFile | Sequence[AnyMediaFile], output_dir: str | Path):
|
|
360
361
|
"""
|
|
361
362
|
下载结果
|
|
362
363
|
:param media: 本地媒体路径
|
|
@@ -372,7 +373,10 @@ class DownloadResult:
|
|
|
372
373
|
raise DeleteError(f"目录删除失败: {self.output_dir}") from e
|
|
373
374
|
|
|
374
375
|
def __repr__(self) -> str:
|
|
375
|
-
|
|
376
|
+
media_count = (
|
|
377
|
+
f"[{len(self.media if isinstance(self.media, Sequence) else [self.media])}]" if self.media else None
|
|
378
|
+
)
|
|
379
|
+
return f"{self.__class__.__name__}(media={media_count}, output_dir={self.output_dir})"
|
|
376
380
|
|
|
377
381
|
|
|
378
382
|
AnyParseResult = VideoParseResult | ImageParseResult | MultimediaParseResult | RichTextParseResult
|
|
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
|