Implemented --count, #1098 (#1102)

This commit is contained in:
Rhet Turnbull 2023-06-24 10:50:34 -07:00 committed by GitHub
parent bb8e164f21
commit 2190628e82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 0 deletions

View File

@ -52,6 +52,7 @@ MACOS_OPTIONS = make_click_option_decorator(
@click.command() @click.command()
@DB_OPTION @DB_OPTION
@JSON_OPTION @JSON_OPTION
@click.option("--count", is_flag=True, help="Print count of photos matching query and exit.")
@QUERY_OPTIONS @QUERY_OPTIONS
@DELETED_OPTIONS @DELETED_OPTIONS
@MACOS_OPTIONS @MACOS_OPTIONS
@ -82,6 +83,7 @@ def query(
db, db,
field, field,
json_, json_,
count,
print_template, print_template,
quiet, quiet,
photos_library, photos_library,
@ -137,6 +139,10 @@ def query(
# below needed for to make CliRunner work for testing # below needed for to make CliRunner work for testing
cli_json = cli_obj.json if cli_obj is not None else None cli_json = cli_obj.json if cli_obj is not None else None
if count:
click.echo(len(photos))
return
if add_to_album and photos: if add_to_album and photos:
assert_macos() assert_macos()

View File

@ -8176,6 +8176,46 @@ def test_query_added_in_last():
assert results.exit_code == 0 assert results.exit_code == 0
def test_query_count():
"""Test query --count"""
runner = CliRunner()
cwd = os.getcwd()
# pylint: disable=not-context-manager
results = runner.invoke(
query,
[
"--library",
os.path.join(cwd, PHOTOS_DB_15_7),
"--added-before",
"2019-07-28",
"--count",
],
)
assert results.exit_code == 0
assert results.output.strip() == "7"
def test_query_count_0():
"""Test query --count with zero results"""
runner = CliRunner()
cwd = os.getcwd()
# pylint: disable=not-context-manager
results = runner.invoke(
query,
[
"--library",
os.path.join(cwd, PHOTOS_DB_15_7),
"--added-before",
"1900-01-01",
"--count",
],
)
assert results.exit_code == 0
assert results.output.strip() == "0"
def test_export_export_dir_template(): def test_export_export_dir_template():
"""Test {export_dir} template""" """Test {export_dir} template"""