瀏覽代碼

[fix] yahoo news date parsing

Adam Tauber 8 年之前
父節點
當前提交
46a2c63f8e
共有 1 個文件被更改,包括 11 次插入8 次删除
  1. 11
    8
      searx/engines/yahoo_news.py

+ 11
- 8
searx/engines/yahoo_news.py 查看文件

@@ -80,16 +80,19 @@ def response(resp):
80 80
 
81 81
         # still useful ?
82 82
         if re.match("^[0-9]+ minute(s|) ago$", publishedDate):
83
-            publishedDate = datetime.now() - timedelta(minutes=int(re.match(r'\d+', publishedDate).group()))  # noqa
83
+            publishedDate = datetime.now() - timedelta(minutes=int(re.match(r'\d+', publishedDate).group()))
84
+        elif re.match("^[0-9]+ days? ago$", publishedDate):
85
+            publishedDate = datetime.now() - timedelta(days=int(re.match(r'\d+', publishedDate).group()))
86
+        elif re.match("^[0-9]+ hour(s|), [0-9]+ minute(s|) ago$", publishedDate):
87
+            timeNumbers = re.findall(r'\d+', publishedDate)
88
+            publishedDate = datetime.now()\
89
+                - timedelta(hours=int(timeNumbers[0]))\
90
+                - timedelta(minutes=int(timeNumbers[1]))
84 91
         else:
85
-            if re.match("^[0-9]+ hour(s|), [0-9]+ minute(s|) ago$",
86
-                        publishedDate):
87
-                timeNumbers = re.findall(r'\d+', publishedDate)
88
-                publishedDate = datetime.now()\
89
-                    - timedelta(hours=int(timeNumbers[0]))\
90
-                    - timedelta(minutes=int(timeNumbers[1]))
91
-            else:
92
+            try:
92 93
                 publishedDate = parser.parse(publishedDate)
94
+            except:
95
+                publishedDate = datetime.now()
93 96
 
94 97
         if publishedDate.year == 1900:
95 98
             publishedDate = publishedDate.replace(year=datetime.now().year)