From f011a93fb6aa44a0ecadc255d1ae3140f67197d5 Mon Sep 17 00:00:00 2001
From: Jake <j.vondoemming@stud.uni-goettingen.de>
Date: Thu, 4 Aug 2022 23:00:39 +0200
Subject: [PATCH] fixed relevance not working

---
 fgs/datatypes.py | 38 +++++++++++++++++++++++++-------------
 1 file changed, 25 insertions(+), 13 deletions(-)

diff --git a/fgs/datatypes.py b/fgs/datatypes.py
index c28a3f3..2976725 100644
--- a/fgs/datatypes.py
+++ b/fgs/datatypes.py
@@ -1,4 +1,4 @@
-from datetime import datetime
+import datetime
 from dateutil import parser as dtparser
 
 class Page:
@@ -72,21 +72,31 @@ class Page:
         self.relevance['was_relevant'] = False
         self.relevance['will_be_relevant'] = False
         if 'relevant' in metadata:
-            self.relevance['prio']= 0
-            self.relevance['start']= Date("min", config)
-            self.relevance['end']= Date("max", config)
             lrel = metadata['relevant']
             if not isinstance(lrel, dict):
                 prio = lrel
                 lrel = {}
                 lrel['prio'] = prio
-            self.relevance.update(lrel)
-            now = Date("now", config)
-            start = self.relevance['start']
-            end = self.relevance['end']
-            if (now > end):
+
+            if 'prio' in lrel:
+                self.relevance['prio']= lrel['prio']
+            else:
+                self.relevance['prio']= 0
+
+            start = Date("min", config)
+            if 'start' in lrel:
+                start = Date(lrel['start'], config)
+            self.relevance['start'] = start
+
+            end = Date("max", config)
+            if 'end' in lrel:
+                end = Date(lrel['end'], config)
+            self.relevance['end'] = end
+
+            build_date = Date("now", config)
+            if (build_date > end):
                 self.relevance['was_relevant'] = True
-            elif (now < start):
+            elif (build_date < start):
                 self.relevance['will_be_relevant'] = True
             else:
                 self.relevance['is_relevant'] = True
@@ -117,13 +127,15 @@ class Date:
     def __init__(self, dt, config):
         if isinstance(dt, str):
             if dt == "min":
-                dt = datetime.min
+                dt = dtparser.parse("1970-01-01")
             elif dt == "max":
-                dt = datetime.max
+                dt = dtparser.parse("9999-01-01")
             elif dt == "now":
-                dt = datetime.now()
+                dt = datetime.datetime.now()
             else:
                 dt = dtparser.parse(dt)
+        if isinstance(dt, datetime.date):
+                dt = datetime.datetime(dt.year, dt.month, dt.day)
         self.dt = dt
         #self.config = config
         # TODO various formats
-- 
GitLab