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: only:
- branches - branches
before_script: before_script:
- apk add make - apk add make git
- cd api - cd api
- sed -i '/Pillow/d' requirements/base.txt
- pip3 install -r requirements/base.txt - pip3 install -r requirements/base.txt
- pip3 install -r requirements/local.txt - pip3 install -r requirements/local.txt
- pip3 install -r requirements/test.txt - pip3 install -r requirements/test.txt

View File

@ -648,7 +648,7 @@ class MBIDField(serializers.UUIDField):
class ArtistSerializer(serializers.Serializer): 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() mbid = MBIDField()
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -664,7 +664,9 @@ class ArtistSerializer(serializers.Serializer):
class AlbumSerializer(serializers.Serializer): class AlbumSerializer(serializers.Serializer):
title = serializers.CharField(required=False, allow_null=True) title = serializers.CharField(required=False, allow_null=True)
mbid = MBIDField() 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): def validate_title(self, v):
if self.context.get("strict", True) and not 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-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), ("0000", None),
("", None),
("nonsense", None), ("nonsense", None),
], ],
) )

View File

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