From 171ce19e1fee3ceb0eeb29b995c53d32f5ba48f9 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Fri, 7 Jul 2023 17:13:47 -0700 Subject: [PATCH] Update date filter to allow quoting values in single quotes --- src/khoj/processor/conversation/prompts.py | 2 +- src/khoj/search_filter/date_filter.py | 2 +- tests/test_chat_actors.py | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/khoj/processor/conversation/prompts.py b/src/khoj/processor/conversation/prompts.py index 04b5d108..69443eaa 100644 --- a/src/khoj/processor/conversation/prompts.py +++ b/src/khoj/processor/conversation/prompts.py @@ -102,7 +102,7 @@ A: You visited the Angkor Wat Temple in Cambodia with Pablo, Namita and Xi. Q: What national parks did I go to last year? -["National park I visited in {last_new_year} dt>="{last_new_year_date}" dt<"{current_new_year_date}""] +["National park I visited in {last_new_year} dt>='{last_new_year_date}' dt<'{current_new_year_date}'"] A: You visited the Grand Canyon and Yellowstone National Park in {last_new_year}. diff --git a/src/khoj/search_filter/date_filter.py b/src/khoj/search_filter/date_filter.py index be07eefd..b612f16b 100644 --- a/src/khoj/search_filter/date_filter.py +++ b/src/khoj/search_filter/date_filter.py @@ -23,7 +23,7 @@ class DateFilter(BaseFilter): # - dt>="yesterday" dt<"tomorrow" # - dt>="last week" # - dt:"2 years ago" - date_regex = r"dt([:><=]{1,2})\"(.*?)\"" + date_regex = r"dt([:><=]{1,2})[\"'](.*?)[\"']" def __init__(self, entry_key="raw"): self.entry_key = entry_key diff --git a/tests/test_chat_actors.py b/tests/test_chat_actors.py index 9f8e821d..e645fc13 100644 --- a/tests/test_chat_actors.py +++ b/tests/test_chat_actors.py @@ -33,9 +33,9 @@ def test_extract_question_with_date_filter_from_relative_day(): # Assert expected_responses = [ - ('dt="1984-04-01"', ""), - ('dt>="1984-04-01"', 'dt<"1984-04-02"'), - ('dt>"1984-03-31"', 'dt<"1984-04-02"'), + ("dt='1984-04-01'", ""), + ("dt>='1984-04-01'", "dt<'1984-04-02'"), + ("dt>'1984-03-31'", "dt<'1984-04-02'"), ] assert len(response) == 1 assert any([start in response[0] and end in response[0] for start, end in expected_responses]), ( @@ -51,7 +51,7 @@ def test_extract_question_with_date_filter_from_relative_month(): response = extract_questions("Which countries did I visit last month?") # Assert - expected_responses = [('dt>="1984-03-01"', 'dt<"1984-04-01"'), ('dt>="1984-03-01"', 'dt<="1984-03-31"')] + expected_responses = [("dt>='1984-03-01'", "dt<'1984-04-01'"), ("dt>='1984-03-01'", "dt<='1984-03-31'")] assert len(response) == 1 assert any([start in response[0] and end in response[0] for start, end in expected_responses]), ( "Expected date filter to limit to March 1984 in response but got: " + response[0] @@ -67,9 +67,9 @@ def test_extract_question_with_date_filter_from_relative_year(): # Assert expected_responses = [ - ('dt>="1984-01-01"', ""), - ('dt>="1984-01-01"', 'dt<"1985-01-01"'), - ('dt>="1984-01-01"', 'dt<="1984-12-31"'), + ("dt>='1984-01-01'", ""), + ("dt>='1984-01-01'", "dt<'1985-01-01'"), + ("dt>='1984-01-01'", "dt<='1984-12-31'"), ] assert len(response) == 1 assert any([start in response[0] and end in response[0] for start, end in expected_responses]), ( @@ -172,8 +172,8 @@ def test_generate_search_query_with_date_and_context_from_chat_history(): # Assert expected_responses = [ - ('dt>="2000-04-01"', 'dt<"2000-05-01"'), - ('dt>="2000-04-01"', 'dt<="2000-04-31"'), + ("dt>='2000-04-01'", "dt<'2000-05-01'"), + ("dt>='2000-04-01'", "dt<='2000-04-30'"), ] assert len(response) == 1 assert "Masai Mara" in response[0]