From a0b276beb46a7530cab71f5c8e6cd57bb45706f3 Mon Sep 17 00:00:00 2001 From: Dmitry Kozliuk Date: Sun, 14 Aug 2016 01:26:39 +0300 Subject: [PATCH] Fix date parsing for masseffect2.in. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The site displays `Вчера' for yesterday and `Сегодня' for today now. --- fanficfare/adapters/adapter_masseffect2in.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/fanficfare/adapters/adapter_masseffect2in.py b/fanficfare/adapters/adapter_masseffect2in.py index 10ada0b5..159e3f71 100644 --- a/fanficfare/adapters/adapter_masseffect2in.py +++ b/fanficfare/adapters/adapter_masseffect2in.py @@ -459,7 +459,22 @@ class Chapter(object): .strip(u'| \n') except AttributeError: raise ParsingError(u'Failed to locate date.') - date = makeDate(dateText, '%d.%m.%Y') + + # The site uses Europe/Moscow (MSK, UTC+0300) server time. + def todayInMoscow(): + now = datetime.datetime.now() + datetime.timedelta(hours=3) + today = datetime.datetime(now.year, now.month, now.day) + return today + + def parseDateText(text): + if text == u'Вчера': + return todayInMoscow() - datetime.timedelta(days=1) + elif text == u'Сегодня': + return todayInMoscow() + else: + return makeDate(text, '%d.%m.%Y') + + date = parseDateText(dateText) return date def _getInfoBarElement(self):