]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/simafm.py
Fixed JSONDecodeError with wrong http cached file (closes #35)
[mpd-sima.git] / sima / lib / simafm.py
index a5f19d08593ef36055e67110a31d33fdc474e620..18fe084a3b8aacfcd3e211c40a19e62313663972 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2009-2014 kaliko <kaliko@azylum.org>
 #
 #   This program is free software: you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
@@ -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: