diff --git a/platformio/__init__.py b/platformio/__init__.py index f50be5fe..83f86b3b 100644 --- a/platformio/__init__.py +++ b/platformio/__init__.py @@ -14,8 +14,6 @@ import sys -DEFAULT_REQUESTS_TIMEOUT = (10, None) # (connect, read) - VERSION = (4, 4, "0b3") __version__ = ".".join([str(s) for s in VERSION]) @@ -46,6 +44,8 @@ __registry_api__ = [ ] __pioremote_endpoint__ = "ssl:host=remote.platformio.org:port=4413" +__default_requests_timeout__ = (10, None) # (connect, read) + __core_packages__ = { "contrib-piohome": "~3.2.3", "contrib-pysite": "~2.%d%d.0" % (sys.version_info.major, sys.version_info.minor), @@ -55,3 +55,11 @@ __core_packages__ = { "tool-clangtidy": "~1.100000.0", "tool-pvs-studio": "~7.7.0", } + +__check_internet_hosts__ = [ + "140.82.118.3", # Github.com + "35.231.145.151", # Gitlab.com + "88.198.170.159", # platformio.org + "github.com", + "platformio.org", +] diff --git a/platformio/clients/http.py b/platformio/clients/http.py index 318448c7..8e732958 100644 --- a/platformio/clients/http.py +++ b/platformio/clients/http.py @@ -20,7 +20,7 @@ import socket import requests.adapters from requests.packages.urllib3.util.retry import Retry # pylint:disable=import-error -from platformio import DEFAULT_REQUESTS_TIMEOUT, app, util +from platformio import __check_internet_hosts__, __default_requests_timeout__, app, util from platformio.cache import ContentCache from platformio.exception import PlatformioException, UserSideException @@ -30,15 +30,6 @@ except ImportError: from urlparse import urljoin -PING_REMOTE_HOSTS = [ - "140.82.118.3", # Github.com - "35.231.145.151", # Gitlab.com - "88.198.170.159", # platformio.org - "github.com", - "platformio.org", -] - - class HTTPClientError(PlatformioException): def __init__(self, message, response=None): super(HTTPClientError, self).__init__() @@ -125,7 +116,7 @@ class HTTPClient(object): # set default timeout if "timeout" not in kwargs: - kwargs["timeout"] = DEFAULT_REQUESTS_TIMEOUT + kwargs["timeout"] = __default_requests_timeout__ while True: try: @@ -179,7 +170,7 @@ class HTTPClient(object): def _internet_on(): timeout = 2 socket.setdefaulttimeout(timeout) - for host in PING_REMOTE_HOSTS: + for host in __check_internet_hosts__: try: for var in ("HTTP_PROXY", "HTTPS_PROXY"): if not os.getenv(var) and not os.getenv(var.lower()): @@ -208,7 +199,7 @@ def fetch_remote_content(*args, **kwargs): kwargs["headers"]["User-Agent"] = app.get_user_agent() if "timeout" not in kwargs: - kwargs["timeout"] = DEFAULT_REQUESTS_TIMEOUT + kwargs["timeout"] = __default_requests_timeout__ r = requests.get(*args, **kwargs) r.raise_for_status() diff --git a/platformio/commands/home/rpc/handlers/os.py b/platformio/commands/home/rpc/handlers/os.py index 38bdcb8a..448c633a 100644 --- a/platformio/commands/home/rpc/handlers/os.py +++ b/platformio/commands/home/rpc/handlers/os.py @@ -22,7 +22,7 @@ from functools import cmp_to_key import click from twisted.internet import defer # pylint: disable=import-error -from platformio import DEFAULT_REQUESTS_TIMEOUT, fs, util +from platformio import __default_requests_timeout__, fs, util from platformio.cache import ContentCache from platformio.clients.http import ensure_internet_on from platformio.commands.home import helpers @@ -54,11 +54,11 @@ class OSRPC(object): session = helpers.requests_session() if data: r = yield session.post( - uri, data=data, headers=headers, timeout=DEFAULT_REQUESTS_TIMEOUT + uri, data=data, headers=headers, timeout=__default_requests_timeout__ ) else: r = yield session.get( - uri, headers=headers, timeout=DEFAULT_REQUESTS_TIMEOUT + uri, headers=headers, timeout=__default_requests_timeout__ ) r.raise_for_status() diff --git a/platformio/package/download.py b/platformio/package/download.py index 0f40fd0d..bd425ac6 100644 --- a/platformio/package/download.py +++ b/platformio/package/download.py @@ -21,7 +21,7 @@ from time import mktime import click import requests -from platformio import DEFAULT_REQUESTS_TIMEOUT, app, fs +from platformio import __default_requests_timeout__, app, fs from platformio.package.exception import PackageException @@ -33,7 +33,7 @@ class FileDownloader(object): url, stream=True, headers={"User-Agent": app.get_user_agent()}, - timeout=DEFAULT_REQUESTS_TIMEOUT, + timeout=__default_requests_timeout__, ) if self._request.status_code != 200: raise PackageException( diff --git a/tests/test_misc.py b/tests/test_misc.py index f816fe6d..36574ee4 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -17,7 +17,7 @@ import pytest import requests -from platformio import proc +from platformio import __check_internet_hosts__, proc from platformio.clients import http from platformio.clients.registry import RegistryClient @@ -30,7 +30,7 @@ def test_platformio_cli(): def test_ping_internet_ips(): - for host in http.PING_REMOTE_HOSTS: + for host in __check_internet_hosts__: requests.get("http://%s" % host, allow_redirects=False, timeout=2)