Repository: pymedusa/Medusa

Issue:
Error on timeout/retrying github
Seems like medusa responds with error-level when timed-out/retrying accessing to github (version check?). See log below. I know my Internet connection is not that reliable, so this can happen. Still I think warning can be enough, no need to stop with error.

Steps to reproduce the behavior:
I suppose disconnect from the Internet long enough time?

**Expected behavior**
Issue a warning.

**Medusa (please complete the following information):**
 - OS: Win 10
 - Branch: master

**Logs:**
<details>

```
2019-03-10 10:24:27 ERROR    CHECKVERSION :: [54da0c7] Environment error: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /orgs/pymedusa (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x09354870>: Failed to establish a new connection: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond',))
Traceback (most recent call last):
  File "D:\Program Files\Medusa\Medusa\medusa\scheduler.py", line 93, in run
    self.action.run(self.force)
  File "D:\Program Files\Medusa\Medusa\medusa\version_checker.py", line 69, in run
    self.list_remote_branches()
  File "D:\Program Files\Medusa\Medusa\medusa\version_checker.py", line 359, in list_remote_branches
    app.GIT_REMOTE_BRANCHES = self.updater.list_remote_branches()
  File "D:\Program Files\Medusa\Medusa\medusa\version_checker.py", line 1044, in list_remote_branches
    gh = get_github_repo(app.GIT_ORG, app.GIT_REPO)
  File "D:\Program Files\Medusa\Medusa\medusa\github_client.py", line 101, in get_github_repo
    return gh.get_organization(organization).get_repo(repo)
  File "D:\Program Files\Medusa\Medusa\ext2\github\MainClass.py", line 261, in get_organization
    "/orgs/" + login
  File "D:\Program Files\Medusa\Medusa\ext2\github\Requester.py", line 264, in requestJsonAndCheck
    return self.__check(*self.requestJson(verb, url, parameters, headers, input, self.__customConnection(url)))
  File "D:\Program Files\Medusa\Medusa\ext2\github\Requester.py", line 324, in requestJson
    return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)
  File "D:\Program Files\Medusa\Medusa\ext2\github\Requester.py", line 377, in __requestEncode
    status, responseHeaders, output = self.__requestRaw(cnx, verb, url, requestHeaders, encoded_input)
  File "D:\Program Files\Medusa\Medusa\ext2\github\Requester.py", line 401, in __requestRaw
    response = cnx.getresponse()
  File "D:\Program Files\Medusa\Medusa\ext2\github\Requester.py", line 109, in getresponse
    r = verb(url, headers=self.headers, data=self.input, timeout=self.timeout, verify=self.verify, allow_redirects=False)
  File "D:\Program Files\Medusa\Medusa\ext\requests\sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)
  File "D:\Program Files\Medusa\Medusa\ext\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "D:\Program Files\Medusa\Medusa\ext\requests\sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "D:\Program Files\Medusa\Medusa\ext\requests\adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
ConnectionError: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /orgs/pymedusa (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x09354870>: Failed to establish a new connection: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond',))
```
</details>




Discussion:

Resolving patch:
diff --git a/medusa/updater/source_updater.py b/medusa/updater/source_updater.py
--- a/medusa/updater/source_updater.py
+++ b/medusa/updater/source_updater.py
@@ -17,6 +17,8 @@
 from medusa.session.core import MedusaSafeSession
 from medusa.updater.update_manager import UpdateManager
 
+from requests.exceptions import RequestException
+
 from six import text_type
 
 
@@ -259,6 +261,6 @@ def list_remote_branches():
         try:
             gh = get_github_repo(app.GIT_ORG, app.GIT_REPO)
             return [x.name for x in gh.get_branches() if x]
-        except GithubException as error:
+        except (GithubException, RequestException) as error:
             log.warning(u"Unable to contact github, can't check for update: {0!r}", error)
             return []


Test patch: