- add season_overwrite and episode_overwrite for Schedule work

- print File path at the end of file for Schedule work
- add discord downloader
This commit is contained in:
2026-03-30 11:05:08 +07:00
parent fe1ccd085c
commit c2fafcd406
7 changed files with 928 additions and 10 deletions

View File

@@ -519,6 +519,11 @@ class dl:
default=False,
help="Continue with best available quality if requested resolutions are not available.",
)
@click.option("-so", "--season-overwrite",type=int, default=None,
help="Overwrite season number")
@click.option("-eo", "--episode-overwrite",type=int, default=None,
help="Overwrite episode number")
@click.pass_context
def cli(ctx: click.Context, **kwargs: Any) -> dl:
return dl(ctx, **kwargs)
@@ -1000,6 +1005,10 @@ class dl:
worst: bool,
best_available: bool,
split_audio: Optional[bool] = None,
season_overwrite: Optional[int] = None,
episode_overwrite: Optional[int] = None,
*_: Any,
**__: Any,
) -> None:
@@ -2464,12 +2473,11 @@ class dl:
for muxed_path in muxed_paths:
media_info = MediaInfo.parse(muxed_path)
final_dir = self.output_dir or config.directories.downloads
final_filename = title.get_filename(media_info, show_service=not no_source)
final_filename = title.get_filename(media_info, show_service=not no_source,season_overwrite=int(season_overwrite) if season_overwrite else None,episode_overwrite=int(episode_overwrite) if episode_overwrite else None)
audio_codec_suffix = muxed_audio_codecs.get(muxed_path)
if not no_folder and isinstance(title, (Episode, Song)):
final_dir /= title.get_filename(media_info, show_service=not no_source, folder=True)
final_dir /= title.get_filename(media_info, show_service=not no_source, folder=True,season_overwrite=int(season_overwrite) if season_overwrite else None)
final_dir.mkdir(parents=True, exist_ok=True)
final_path = final_dir / f"{final_filename}{muxed_path.suffix}"
template_type = (
@@ -2500,6 +2508,9 @@ class dl:
console.print(
Padding(f":tada: Title downloaded in [progress.elapsed]{title_dl_time}[/]!", (0, 5, 1, 5))
)
console.print(
Padding(f"File path - {final_path}", (0, 5, 1, 5))
)
# update cookies
cookie_file = self.get_cookie_path(self.service, self.profile)
@@ -2510,6 +2521,7 @@ class dl:
console.print(Padding(f"Processed all titles in [progress.elapsed]{dl_time}", (0, 5, 1, 5)))
def prepare_drm(
self,
drm: DRM_T,