diff --git a/archivebox/index/schema.py b/archivebox/index/schema.py index eb6ef894..4ea60204 100644 --- a/archivebox/index/schema.py +++ b/archivebox/index/schema.py @@ -190,10 +190,10 @@ class Link: for key, val in json_info.items() if key in cls.field_names() } - try: - info['updated'] = int(parse_date(info.get('updated'))) # Cast to int which comes with rounding down - except (ValueError, TypeError): - info['updated'] = None + # try: + info['updated'] = parse_date(info.get('updated')) # Cast to int which comes with rounding down + # except (ValueError, TypeError): + # info['updated'] = None info['sources'] = info.get('sources') or [] json_history = info.get('history') or {} diff --git a/archivebox/util.py b/archivebox/util.py index 0e7ebd31..76dc24e2 100644 --- a/archivebox/util.py +++ b/archivebox/util.py @@ -9,7 +9,7 @@ from hashlib import sha256 from urllib.parse import urlparse, quote, unquote from html import escape, unescape from datetime import datetime -from dateutil import parser as dateparser +from dateparser import parse as dateparser import requests from base32_crockford import encode as base32_encode # type: ignore @@ -144,7 +144,7 @@ def parse_date(date: Any) -> Optional[datetime]: date = str(date) if isinstance(date, str): - return dateparser.parse(date) + return dateparser(date) raise ValueError('Tried to parse invalid date! {}'.format(date)) diff --git a/setup.py b/setup.py index 66112bfd..2e333bf4 100755 --- a/setup.py +++ b/setup.py @@ -43,6 +43,7 @@ setuptools.setup( "django==3.0.7", "django-extensions==2.2.9", + "dateparser", "ipython", "youtube-dl", "python-crontab==2.5.1",