diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py index 9aa08820ac6e069ff38cd75d95eef79c11c8bd23..4c754ae05634eebf90f9e1e585d6542806ac407d 100644 --- a/api/funkwhale_api/music/metadata.py +++ b/api/funkwhale_api/music/metadata.py @@ -114,6 +114,22 @@ VALIDATION = { } CONF = { + "OggOpus": { + "getter": lambda f, k: f[k][0], + "fields": { + "track_number": { + "field": "TRACKNUMBER", + "to_application": convert_track_number, + }, + "title": {}, + "artist": {}, + "album": {}, + "date": {"field": "date", "to_application": get_date}, + "musicbrainz_albumid": {}, + "musicbrainz_artistid": {}, + "musicbrainz_recordingid": {"field": "musicbrainz_trackid"}, + }, + }, "OggVorbis": { "getter": lambda f, k: f[k][0], "fields": { diff --git a/api/funkwhale_api/music/utils.py b/api/funkwhale_api/music/utils.py index 30f62f3485838f2a6b626e5d0b24a44144fb885c..92187d69a12f004086acc4da7d5cada9cc43c630 100644 --- a/api/funkwhale_api/music/utils.py +++ b/api/funkwhale_api/music/utils.py @@ -54,7 +54,7 @@ def get_audio_file_data(f): if not data: return d = {} - d["bitrate"] = data.info.bitrate + d["bitrate"] = getattr(data.info, "bitrate", 0) d["length"] = data.info.length return d