]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/http.py
Init genre attribute in Track object
[mpd-sima.git] / sima / lib / http.py
index 292148193f9d754740c053cbddea1d599fb4f93a..3b27bddbb3e99406f909681bd03da234a3be54ce 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2014-2015, 2020 kaliko <kaliko@azylum.org>
+# Copyright (c) 2014-2015, 2020, 2021 kaliko <kaliko@azylum.org>
 # Copyright (c) 2012, 2013 Eric Larson <eric@ionrock.org>
 #
 #   This program is free software: you can redistribute it and/or modify
@@ -26,7 +26,7 @@ import time
 
 import email.utils
 
-from requests import Session, Request, Timeout, ConnectionError
+from requests import Session, Request, Timeout, ConnectionError as HTTPConnectionError
 
 from sima import SOCKET_TIMEOUT, WAIT_BETWEEN_REQUESTS
 from sima.utils.utils import WSError, WSTimeout, WSHTTPError, Throttle
@@ -232,7 +232,7 @@ class CacheController(object):
                     self.cache.set(cache_url, resp)
             # Force one month max age if no Cache-Control header is found
             # Overriding header disappearance on LastFM web service...
-            # https://getsatisfaction.com/lastfm/topics/-web-api-http-cache-control-header
+            # https://gitlab.com/kaliko/sima/-/issues/7
             elif CacheController.CACHE_ANYWAY:
                 resp.headers['Cache-Control'] = 'max-age=2419200'
                 self.cache.set(cache_url, resp)
@@ -293,11 +293,11 @@ class HttpClient:
             return cached_response
         try:
             return self.fetch_ws(req)
-        except Timeout:
+        except Timeout as err:
             raise WSTimeout('Failed to reach server within {0}s'.format(
-                SOCKET_TIMEOUT))
-        except ConnectionError as err:
-            raise WSError(err)
+                SOCKET_TIMEOUT)) from err
+        except HTTPConnectionError as err:
+            raise WSError(err) from err
 
     @Throttle(WAIT_BETWEEN_REQUESTS)
     def fetch_ws(self, prepreq):