From fc7db2706a9ae6afa4fd5a4aa46478cb380747e6 Mon Sep 17 00:00:00 2001 From: David Allemang Date: Sun, 25 Jan 2026 00:32:28 -0500 Subject: [PATCH] Alias --- src/imup/__init__.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/imup/__init__.py b/src/imup/__init__.py index 2a6e871..9f71137 100644 --- a/src/imup/__init__.py +++ b/src/imup/__init__.py @@ -47,6 +47,16 @@ class Args: ), ) + alias: str + _p.add_argument( + '-a', + "--alias", + default=None, + help=( + "If only one SRC is provided, alias the image with this name. This is not supported for multiple upload." + ), + ) + tags: list[str] _p.add_argument( "-t", @@ -81,6 +91,7 @@ class Args: view: bool _p.add_argument( + "-v", "--view", action="store_true", default=False, @@ -138,6 +149,21 @@ def main() -> None: urls.append(url := url) print(f"- {url} ({stat} {SRCNAME.get(src, src)})") + if args.alias and len(args.srcs) == 1: + alias = mnt.joinpath(f"{args.alias}.webp") + alias.parent.mkdir(parents=True, exist_ok=True) + + if not (exists := alias.exists()) or args.reupload: + stat = "realiased" if exists else "aliased" + if exists: + alias.unlink() + os.link(dst, alias) # transform_symlinks are bugged with sshfs, so use hardlink. + else: + stat = "skipped" + + alias_url = urljoin(base_url, str(alias.relative_to(mnt))) + print(f" {alias_url} ({stat})") + for tag in args.tags: tag_dst = mnt.joinpath(tag, dst.name) tag_dst.parent.mkdir(parents=True, exist_ok=True)