From b942ed7a62252a1b4cb4ccecfbed07aa5b4873a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Pe=C3=B1a?= Date: Sun, 17 Oct 2021 10:41:03 +0000 Subject: [PATCH] Adds sanity check to prevent uncontrolled exception from untagged imported tracks (!1382) --- api/funkwhale_api/music/metadata.py | 2 ++ changes/changelog.d/1275.enhancement | 1 + 2 files changed, 3 insertions(+) create mode 100644 changes/changelog.d/1275.enhancement diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py index ffce86943..9d19e1557 100644 --- a/api/funkwhale_api/music/metadata.py +++ b/api/funkwhale_api/music/metadata.py @@ -357,6 +357,8 @@ class Metadata(Mapping): self._file = kind(filething) if self._file is None: raise ValueError("Cannot parse metadata from {}".format(filething)) + if len(self._file) == 0: + raise ValueError("No tags found in {}".format(filething)) self.fallback = self.load_fallback(filething, self._file) ft = self.get_file_type(self._file) try: diff --git a/changes/changelog.d/1275.enhancement b/changes/changelog.d/1275.enhancement new file mode 100644 index 000000000..3b0ffab7f --- /dev/null +++ b/changes/changelog.d/1275.enhancement @@ -0,0 +1 @@ +Prevents an uncontrolled exception when uploading a file without tags, and prints user friendly message (1275)