Fix date_filter query, entry in query range check. Add tests for it

- Fix date_filter date_in_entry within query range check
  - Extracted_date_range is in [included_date, excluded_date) format
  - But check was checking for date_in_entry <= excluded_date
  - Fixed it to do date_in_entry < excluded_date

- Fix removal of date filter from query
- Add tests for date_filter
This commit is contained in:
Debanjum Singh Solanky
2022-07-14 20:01:35 +04:00
parent 011f81fac5
commit dcb6fe479e
2 changed files with 50 additions and 2 deletions

View File

@@ -28,7 +28,8 @@ def date_filter(query, entries, embeddings):
return query, entries, embeddings
# remove date range filter from query
query = re.sub(date_range_regex, '', query)
query = re.sub(f'\s+{date_regex}', ' ', query)
query = re.sub(r'\s{2,}', ' ', query).strip() # remove multiple spaces
# find entries containing any dates that fall with date range specified in query
entries_to_include = set()
@@ -38,7 +39,7 @@ def date_filter(query, entries, embeddings):
# Convert date string in entry to unix timestamp
date_in_entry = datetime.strptime(date_in_entry_string, '%Y-%m-%d').timestamp()
# Check if date in entry is within date range specified in query
if query_daterange[0] <= date_in_entry <= query_daterange[1]:
if query_daterange[0] <= date_in_entry < query_daterange[1]:
entries_to_include.add(id)
break