Search now matches if the keyword is a substring of any element

This commit is contained in:
asdf 2019-12-24 23:33:28 +11:00
parent 2e05eb3408
commit 5fdb0f4863
3 changed files with 7 additions and 6 deletions

View File

@ -190,7 +190,7 @@ class LinkData:
if keyword == "": if keyword == "":
raise ValueError("a search keyword must be specified") raise ValueError("a search keyword must be specified")
query = (record for record in self.link_data if keyword in record) query = (record for record in self.link_data if keyword in str(record))
if query: if query:
search_results: set = set() search_results: set = set()

View File

@ -180,7 +180,7 @@ class TestLinkDataSearch(unittest.TestCase):
[65, "poster6", "1576461367.5580268", "", "keyword", "c", "c"], [65, "poster6", "1576461367.5580268", "", "keyword", "c", "c"],
[64, "poster7", "1576461368.5580268", "", "c", "keyword", "c"], [64, "poster7", "1576461368.5580268", "", "c", "keyword", "c"],
[63, "poster8", "1576461369.5580268", "", "c", "c", "keyword"], [63, "poster8", "1576461369.5580268", "", "c", "c", "keyword"],
[63, "poster9", "1576461370.5580268", "", "c", "c", "z8keyworddui3"], [62, "poster9", "1576461370.5580268", "", "c", "c", "z8keyworddui3"],
] ]
test_results = [ test_results = [
@ -206,6 +206,7 @@ class TestLinkDataSearch(unittest.TestCase):
(65, "poster6", "1576461367.5580268", "", "keyword", "c", "c"), (65, "poster6", "1576461367.5580268", "", "keyword", "c", "c"),
(64, "poster7", "1576461368.5580268", "", "c", "keyword", "c"), (64, "poster7", "1576461368.5580268", "", "c", "keyword", "c"),
(63, "poster8", "1576461369.5580268", "", "c", "c", "keyword"), (63, "poster8", "1576461369.5580268", "", "c", "c", "keyword"),
(62, "poster9", "1576461370.5580268", "", "c", "c", "z8keyworddui3"),
] ]
self.assertEqual(link_data.search("keyword"), test_results) self.assertEqual(link_data.search("keyword"), test_results)

View File

@ -22,10 +22,10 @@ class TestPrintSearchResults(unittest.TestCase):
call( call(
"\nShowing results for keyword\n\n ID# DATE AUTHOR DESC " "\nShowing results for keyword\n\n ID# DATE AUTHOR DESC "
), ),
call(" 1 2019-12-16 keyword c \n"), call(" 1 2019-12-16 keyword c "),
call(" 2 2019-12-16 poster6 c \n"), call(" 2 2019-12-16 poster6 c "),
call(" 3 2019-12-16 poster7 c \n"), call(" 3 2019-12-16 poster7 c "),
call(" 4 2019-12-16 poster8 keyword \n"), call(" 4 2019-12-16 poster8 keyword "),
] ]
linkulator.print_search_results(test_keyword, test_search_results) linkulator.print_search_results(test_keyword, test_search_results)