diff --git a/unblob/cli.py b/unblob/cli.py index 42c52b7379..b9ed724b6b 100755 --- a/unblob/cli.py +++ b/unblob/cli.py @@ -35,6 +35,19 @@ def restore_cursor(): sys.stdout.write("\033[?25h") # ANSI escape code to show cursor +def get_version(): + return pkg_resources.get_distribution("unblob").version + + +def show_version( + ctx: click.Context, _param: click.Option, value: bool # noqa: FBT001 +) -> None: + if not value or ctx.resilient_parsing: + return + click.echo(get_version()) + ctx.exit(code=0) + + def show_external_dependencies( ctx: click.Context, _param: click.Option, value: bool # noqa: FBT001 ) -> None: @@ -198,6 +211,13 @@ def __init__( callback=show_external_dependencies, expose_value=False, ) +@click.option( + "--version", + help="Shows unblob version", + is_flag=True, + callback=show_version, + expose_value=False, +) def cli( file: Path, extract_root: Path,