-sa to gallery/comic

This commit is contained in:
Danilo Reyes
2026-02-28 23:52:48 -06:00
parent 3f44f710b1
commit e73b4c8083

View File

@@ -2,6 +2,7 @@
"""fzf-based selectors for comic and gallery links."""
from __future__ import annotations
import argparse
import re
import subprocess
@@ -27,24 +28,44 @@ def _select_links(urls: list[str]) -> list[str]:
return [ln for ln in proc.stdout.splitlines() if ln.strip()]
def _run_download(selected: list[str]) -> None:
def _run_download(selected: list[str], extra_args: list[str]) -> None:
if not selected:
return
subprocess.run(["download", "-u", USER, "-i", *selected], check=False)
subprocess.run(["download", "-u", USER, *extra_args, "-i", *selected], check=False)
def _parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument("-s", "--no_skip", dest="flag_skip", action="store_false")
parser.add_argument("-a", "--no-archive", dest="flag_archive", action="store_false")
return parser.parse_args()
def _extra_args_from_flags(args: argparse.Namespace) -> list[str]:
extra = []
if args.flag_skip is False:
extra.append("-s")
if args.flag_archive is False:
extra.append("-a")
return extra
def comic_main() -> None:
args = _parse_args()
extra_args = _extra_args_from_flags(args)
with db.connect() as conn:
rows = db.get_links(conn, users=[USER], include_disabled=False, include_banned=False)
urls = [row["url_original"] for row in rows if RGX_COMIC.search(row["url_original"])]
_run_download(_select_links(urls))
_run_download(_select_links(urls), extra_args)
def gallery_main() -> None:
args = _parse_args()
extra_args = _extra_args_from_flags(args)
with db.connect() as conn:
rows = db.get_links(conn, users=[USER], include_disabled=False, include_banned=False)
urls = [row["url_original"] for row in rows if not RGX_COMIC.search(row["url_original"])]
_run_download(_select_links(urls))
_run_download(_select_links(urls), extra_args)
if __name__ == "__main__":