Merge branch '1037-empty-date' into 'develop'

Fix #1037: More resilient tag parsing with empty release date or album artist

Closes #1037

See merge request funkwhale/funkwhale!1050
This commit is contained in:
Eliot Berriot 2020-03-09 17:34:01 +01:00
commit 40720328d7
4 changed files with 7 additions and 4 deletions

View File

@ -135,9 +135,8 @@ test_api:
only:
- branches
before_script:
- apk add make
- apk add make git
- cd api
- sed -i '/Pillow/d' requirements/base.txt
- pip3 install -r requirements/base.txt
- pip3 install -r requirements/local.txt
- pip3 install -r requirements/test.txt

View File

@ -648,7 +648,7 @@ class MBIDField(serializers.UUIDField):
class ArtistSerializer(serializers.Serializer):
name = serializers.CharField(required=False, allow_null=True)
name = serializers.CharField(required=False, allow_null=True, allow_blank=True)
mbid = MBIDField()
def __init__(self, *args, **kwargs):
@ -664,7 +664,9 @@ class ArtistSerializer(serializers.Serializer):
class AlbumSerializer(serializers.Serializer):
title = serializers.CharField(required=False, allow_null=True)
mbid = MBIDField()
release_date = PermissiveDateField(required=False, allow_null=True)
release_date = PermissiveDateField(
required=False, allow_null=True, allow_blank=True
)
def validate_title(self, v):
if self.context.get("strict", True) and not v:

View File

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

View File

@ -0,0 +1 @@
More resilient tag parsing with empty release date or album artist (#1037)