Smarted UUID validation on metadata

This commit is contained in:
Eliot Berriot 2018-04-21 16:01:42 +02:00
parent 74e7aed2d4
commit e29cfb7301
No known key found for this signature in database
GPG Key ID: DD6965E2476E5C27
1 changed files with 12 additions and 1 deletions

View File

@ -1,5 +1,6 @@
import mutagen from django import forms
import arrow import arrow
import mutagen
NODEFAULT = object() NODEFAULT = object()
@ -50,6 +51,13 @@ def convert_track_number(v):
except (ValueError, AttributeError, IndexError): except (ValueError, AttributeError, IndexError):
pass pass
VALIDATION = {
'musicbrainz_artistid': forms.UUIDField(),
'musicbrainz_albumid': forms.UUIDField(),
'musicbrainz_recordingid': forms.UUIDField(),
}
CONF = { CONF = {
'OggVorbis': { 'OggVorbis': {
'getter': lambda f, k: f[k][0], 'getter': lambda f, k: f[k][0],
@ -146,4 +154,7 @@ class Metadata(object):
converter = field_conf.get('to_application') converter = field_conf.get('to_application')
if converter: if converter:
v = converter(v) v = converter(v)
field = VALIDATION.get(key)
if field:
v = field.to_python(v)
return v return v