From: kaliko <kaliko@azylum.org>
Date: Thu, 12 Nov 2020 17:59:32 +0000 (+0100)
Subject: Fixed JSONDecodeError with wrong http cached file (closes #35)
X-Git-Tag: 0.16.0~22
X-Git-Url: http://git.kaliko.me/?a=commitdiff_plain;h=f755e5c13bd8d761979393db7c40757f02c79163;p=mpd-sima.git

Fixed JSONDecodeError with wrong http cached file (closes #35)
---

diff --git a/doc/Changelog b/doc/Changelog
index 90267d1..6200f78 100644
--- a/doc/Changelog
+++ b/doc/Changelog
@@ -1,6 +1,7 @@
 MPD_sima v0.16.0
 
  * Update vinstall.py (closes #34)
+ * Fixed bug when http client fetches a corrupted cached entry (closes #35)
 
  -- kaliko <kaliko@azylum.org>  UNRELEASED
 
diff --git a/sima/lib/simafm.py b/sima/lib/simafm.py
index 2d0ea38..18fe084 100644
--- a/sima/lib/simafm.py
+++ b/sima/lib/simafm.py
@@ -100,8 +100,13 @@ class SimaFM:
         payload = self._forge_payload(artist)
         # Construct URL
         ans = self.http(self.root_url, payload)
+        try:
+            ans.json()
+        except ValueError as err:
+            # Corrupted/malformed cache? cf. gitlab issue #35
+            raise WSError('Malformed json, try purging the cache: %s')
         self._controls_answer(ans.json()) # pylint: disable=no-member
-        # Artist might be found be return no 'artist' list…
+        # Artist might be found but return no 'artist' list…
         # cf. "Mulatu Astatqe" vs. "Mulatu Astatqé" with autocorrect=0
         # json format is broken IMHO, xml is more consistent IIRC
         # Here what we got: