mirror of
https://github.com/Benexl/FastAnime.git
synced 2025-12-25 12:24:52 -08:00
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import click
|
|
from fastanime.core.config import AppConfig
|
|
|
|
|
|
@click.command(name="clear", help="Clear queued items from the registry (QUEUED -> NOT_DOWNLOADED).")
|
|
@click.option("--force", is_flag=True, help="Do not prompt for confirmation.")
|
|
@click.pass_obj
|
|
def clear_cmd(config: AppConfig, force: bool):
|
|
from fastanime.cli.service.feedback import FeedbackService
|
|
from fastanime.cli.service.registry import MediaRegistryService
|
|
from fastanime.cli.service.registry.models import DownloadStatus
|
|
|
|
feedback = FeedbackService(config)
|
|
registry = MediaRegistryService(config.general.media_api, config.media_registry)
|
|
|
|
if not force and not click.confirm("This will clear all queued items. Continue?"):
|
|
feedback.info("Aborted.")
|
|
return
|
|
|
|
cleared = 0
|
|
queued = registry.get_episodes_by_download_status(DownloadStatus.QUEUED)
|
|
for media_id, ep in queued:
|
|
ok = registry.update_episode_download_status(
|
|
media_id=media_id,
|
|
episode_number=ep,
|
|
status=DownloadStatus.NOT_DOWNLOADED,
|
|
)
|
|
if ok:
|
|
cleared += 1
|
|
feedback.success(f"Cleared {cleared} queued episode(s).")
|