From: kaliko 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: https://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 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: