Merge branch '966-handle-bad-year' into 'develop'

Fix #966: More robust importer against malformed dates

Closes #966

See merge request funkwhale/funkwhale!955
This commit is contained in:
Eliot Berriot 2019-11-25 09:46:15 +01:00
commit 421b441dbe
3 changed files with 3 additions and 1 deletions

View File

@ -556,7 +556,7 @@ class PermissiveDateField(serializers.CharField):
try: try:
parsed = pendulum.parse(str(value)) parsed = pendulum.parse(str(value))
return datetime.date(parsed.year, parsed.month, parsed.day) return datetime.date(parsed.year, parsed.month, parsed.day)
except pendulum.exceptions.ParserError: except (pendulum.exceptions.ParserError, ValueError):
pass pass
return None return None

View File

@ -239,6 +239,7 @@ def test_can_get_metadata_from_flac_file_not_crash_if_empty():
("2017-12-31", datetime.date(2017, 12, 31)), ("2017-12-31", datetime.date(2017, 12, 31)),
("2017-14-01 01:32", datetime.date(2017, 1, 14)), # deezer format ("2017-14-01 01:32", datetime.date(2017, 1, 14)), # deezer format
("2017-02", datetime.date(2017, 1, 1)), # weird format that exists ("2017-02", datetime.date(2017, 1, 1)), # weird format that exists
("0000", None),
("nonsense", None), ("nonsense", None),
], ],
) )

View File

@ -0,0 +1 @@
More robust importer against malformed dates (#966)