PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` import argparse import sys from typing import Any from uuid import UUID from .main import decode from .main import encode from .main import uuid def encode_cli(args: argparse.Namespace): print(encode(args.uuid)) def decode_cli(args: argparse.Namespace): print(str(decode(args.shortuuid, legacy=args.legacy))) def cli(*args: Any) -> None: parser = argparse.ArgumentParser( description="Generate, encode and decode shortuuids", epilog="top-level command generates a random shortuuid", ) subparsers = parser.add_subparsers(help="sub-command help") encode_parser = subparsers.add_parser( "encode", help="Encode a UUID into a short UUID", description=encode.__doc__ ) encode_parser.add_argument("uuid", type=UUID, help="UUID to be encoded") encode_parser.set_defaults(func=encode_cli) decode_parser = subparsers.add_parser( "decode", help="Decode a short UUID into a UUID", description=decode.__doc__ ) decode_parser.add_argument("shortuuid", type=str, help="Short UUID to be decoded") decode_parser.add_argument("--legacy", action="store_true") decode_parser.set_defaults(func=decode_cli) passed_args = parser.parse_args(*args) if hasattr(passed_args, "func"): passed_args.func(passed_args) else: # Maintain legacy behaviour print(uuid()) if __name__ == "__main__": cli(sys.argv[1:])