diff options
author | Martin Czygan <martin.czygan@gmail.com> | 2019-12-20 17:43:08 +0100 |
---|---|---|
committer | Martin Czygan <martin.czygan@gmail.com> | 2019-12-28 23:07:31 +0100 |
commit | 52eabd48658a676ac4577d1c8da31df1fe58093e (patch) | |
tree | db6a2e616c28f39165d6827b8419187685699f40 | |
parent | 403b1a2d4591d878145a021a7c1e15e2d60c47d8 (diff) | |
download | fatcat-52eabd48658a676ac4577d1c8da31df1fe58093e.tar.gz fatcat-52eabd48658a676ac4577d1c8da31df1fe58093e.zip |
datacite: move common date patterns out of the loop
Additionally, try the unspecific (%Y) pattern last.
-rw-r--r-- | python/fatcat_tools/importers/datacite.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/python/fatcat_tools/importers/datacite.py b/python/fatcat_tools/importers/datacite.py index 9774e334..77ce1012 100644 --- a/python/fatcat_tools/importers/datacite.py +++ b/python/fatcat_tools/importers/datacite.py @@ -280,6 +280,10 @@ class DataciteImporter(EntityImporter): 'Created', 'Updated', ) + + # Before using (expensive) dateparser, try a few common patterns. + common_patterns = ('%Y-%m-%d', '%Y-%m', '%Y-%m-%dT%H:%M:%SZ', '%Y-%m-%dT%H:%M:%S', '%Y') + for prio in date_type_prio: dates = attributes.get('dates', []) or [] # Never be None. for item in dates: @@ -289,9 +293,6 @@ class DataciteImporter(EntityImporter): # Parse out date, use common patterns first, fallback to dateparser. result, value, year_only = None, item.get('date', ''), False - # Before using (expensive) dateparser, try a few common patterns. - common_patterns = ('%Y-%m-%d', '%Y', '%Y-%m', '%Y-%m-%dT%H:%M:%SZ', '%Y-%m-%dT%H:%M:%S') - for pattern in common_patterns: try: result = datetime.datetime.strptime(value, pattern) |