Fix -contains to allow multiple terms with "OR" logic unless -and is added (#1890)

* Store multiple -contains arguments (OR default).

Allow multiple occurrences of the -contains argument
to be stored in a list. Previously, only the last occurrence was
considered. Additionally, the behavior has been modified to default to
OR logic, meaning that if multiple -contains arguments are provided,
entries matching any of them will be included in the results.

* Solved issue #1877 "-and" flag with multiple instances of the -contains option.

* Run poe format

* Fix unit test for contains to allow list instead of single value

* Add BDD tests for multiple contains with and without -and

* Black version updated.

* Revert pyproject.toml to appease poetry

---------

Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
This commit is contained in:
Ricardo Ruiz 2024-05-21 06:16:33 +02:00 committed by GitHub
parent 0deadc03c8
commit 8957ceb74d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 48 additions and 5 deletions

View file

@ -55,7 +55,7 @@ def test_empty():
def test_contains_alone():
assert cli_as_dict("-contains whatever") == expected_args(contains="whatever")
assert cli_as_dict("-contains whatever") == expected_args(contains=["whatever"])
def test_debug_alone():