feat(cli): 支持双比例封面参数
This commit is contained in:
+26
-3
@@ -54,6 +54,8 @@ class DouyinVideoUploadRequest:
|
||||
tags: list[str]
|
||||
publish_date: datetime | int
|
||||
thumbnail_file: Path | None = None
|
||||
thumbnail_landscape_file: Path | None = None
|
||||
thumbnail_portrait_file: Path | None = None
|
||||
product_link: str = ""
|
||||
product_title: str = ""
|
||||
publish_strategy: str = DOUYIN_PUBLISH_STRATEGY_IMMEDIATE
|
||||
@@ -148,6 +150,8 @@ class TencentVideoUploadRequest:
|
||||
tags: list[str]
|
||||
publish_date: datetime | int
|
||||
thumbnail_file: Path | None = None
|
||||
thumbnail_landscape_file: Path | None = None
|
||||
thumbnail_portrait_file: Path | None = None
|
||||
short_title: str | None = None
|
||||
category: str | None = None
|
||||
is_draft: bool = False
|
||||
@@ -285,7 +289,12 @@ async def upload_video(request: DouyinVideoUploadRequest) -> Path:
|
||||
request.publish_date,
|
||||
str(account_file),
|
||||
desc=request.description,
|
||||
thumbnail_portrait_path=str(request.thumbnail_file) if request.thumbnail_file else None,
|
||||
thumbnail_landscape_path=(
|
||||
str(request.thumbnail_landscape_file) if request.thumbnail_landscape_file else None
|
||||
),
|
||||
thumbnail_portrait_path=str(
|
||||
request.thumbnail_portrait_file or request.thumbnail_file
|
||||
) if request.thumbnail_portrait_file or request.thumbnail_file else None,
|
||||
productLink=request.product_link,
|
||||
productTitle=request.product_title,
|
||||
publish_strategy=request.publish_strategy,
|
||||
@@ -463,6 +472,12 @@ async def upload_tencent_video(request: TencentVideoUploadRequest) -> Path:
|
||||
is_draft=request.is_draft,
|
||||
desc=request.description,
|
||||
thumbnail_path=str(request.thumbnail_file) if request.thumbnail_file else None,
|
||||
thumbnail_landscape_path=(
|
||||
str(request.thumbnail_landscape_file) if request.thumbnail_landscape_file else None
|
||||
),
|
||||
thumbnail_portrait_path=(
|
||||
str(request.thumbnail_portrait_file) if request.thumbnail_portrait_file else None
|
||||
),
|
||||
short_title=request.short_title,
|
||||
publish_strategy=request.publish_strategy,
|
||||
debug=request.debug,
|
||||
@@ -520,7 +535,9 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
upload_video_parser.add_argument("--desc", default="", help="Optional video description")
|
||||
upload_video_parser.add_argument("--tags", default="", help="Comma-separated tags, such as tag1,tag2")
|
||||
upload_video_parser.add_argument("--schedule", type=schedule_value, help=f"Schedule time in {schedule_help}")
|
||||
upload_video_parser.add_argument("--thumbnail", type=existing_file_path, help="Optional thumbnail path")
|
||||
upload_video_parser.add_argument("--thumbnail", type=existing_file_path, help="Optional 3:4 portrait thumbnail path")
|
||||
upload_video_parser.add_argument("--thumbnail-landscape", type=existing_file_path, help="Optional 4:3 landscape thumbnail path")
|
||||
upload_video_parser.add_argument("--thumbnail-portrait", type=existing_file_path, help="Optional 3:4 portrait thumbnail path")
|
||||
upload_video_parser.add_argument("--product-link", default="", help="Optional product link")
|
||||
upload_video_parser.add_argument("--product-title", default="", help="Optional product title")
|
||||
add_runtime_flags(upload_video_parser)
|
||||
@@ -622,7 +639,9 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
tencent_upload_video_parser.add_argument("--desc", default="", help="Optional video description")
|
||||
tencent_upload_video_parser.add_argument("--tags", default="", help="Comma-separated tags, such as tag1,tag2")
|
||||
tencent_upload_video_parser.add_argument("--schedule", type=schedule_value, help=f"Schedule time in {schedule_help}")
|
||||
tencent_upload_video_parser.add_argument("--thumbnail", type=existing_file_path, help="Optional thumbnail path")
|
||||
tencent_upload_video_parser.add_argument("--thumbnail", type=existing_file_path, help="Optional 3:4 portrait thumbnail path")
|
||||
tencent_upload_video_parser.add_argument("--thumbnail-landscape", type=existing_file_path, help="Optional 4:3 landscape thumbnail path")
|
||||
tencent_upload_video_parser.add_argument("--thumbnail-portrait", type=existing_file_path, help="Optional 3:4 portrait thumbnail path")
|
||||
tencent_upload_video_parser.add_argument("--short-title", help="Optional WeChat Channels short title")
|
||||
tencent_upload_video_parser.add_argument("--category", help="Optional original content category")
|
||||
tencent_upload_video_parser.add_argument("--draft", action="store_true", help="Save as draft instead of publishing")
|
||||
@@ -655,6 +674,8 @@ async def dispatch(args: argparse.Namespace) -> int:
|
||||
tags=parse_tags(args.tags),
|
||||
publish_date=args.schedule or 0,
|
||||
thumbnail_file=args.thumbnail,
|
||||
thumbnail_landscape_file=args.thumbnail_landscape,
|
||||
thumbnail_portrait_file=args.thumbnail_portrait,
|
||||
product_link=args.product_link,
|
||||
product_title=args.product_title,
|
||||
publish_strategy=publish_strategy,
|
||||
@@ -838,6 +859,8 @@ async def dispatch(args: argparse.Namespace) -> int:
|
||||
tags=parse_tags(args.tags),
|
||||
publish_date=args.schedule or 0,
|
||||
thumbnail_file=args.thumbnail,
|
||||
thumbnail_landscape_file=args.thumbnail_landscape,
|
||||
thumbnail_portrait_file=args.thumbnail_portrait,
|
||||
short_title=args.short_title,
|
||||
category=args.category,
|
||||
is_draft=args.draft,
|
||||
|
||||
Reference in New Issue
Block a user