From 32ef50708a690ae38c58b86981d5c64cb33bbcf2 Mon Sep 17 00:00:00 2001 From: Dimitris Zlatanidis Date: Tue, 6 Jun 2023 21:43:02 +0300 Subject: [PATCH] Fixed urllib3.exceptions.NewConnectionError #173 --- ChangeLog.txt | 4 ++++ slpkg/check_updates.py | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index da9b065f..ac1c5d86 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,7 @@ +4.8.9 - 06/06/2023 +Fixed +- urllib3.exceptions.NewConnectionError (Thanks to rizitis) #173 + 4.8.8 - 29/05/2023 Updated: - France manpage diff --git a/slpkg/check_updates.py b/slpkg/check_updates.py index e61b4749..373e8144 100644 --- a/slpkg/check_updates.py +++ b/slpkg/check_updates.py @@ -3,6 +3,7 @@ import os import logging +import requests from pathlib import Path from multiprocessing import Process from urllib3 import PoolManager, ProxyManager, make_headers @@ -90,6 +91,7 @@ class CheckUpdates(Configs): def compare_the_changelogs(self, local_chg_txt: Path, repo_chg_txt: str) -> bool: local_size: int = 0 + repo_size: int = 0 if self.proxy_address.startswith('http'): self.set_http_proxy_server() @@ -98,13 +100,17 @@ class CheckUpdates(Configs): self.set_socks_proxy_server() try: + requests.get(repo_chg_txt, timeout=2) repo = self.http.request('GET', repo_chg_txt) if local_chg_txt.is_file(): local_size: int = int(os.stat(local_chg_txt).st_size) except KeyboardInterrupt: raise SystemExit(1) - - repo_size: int = int(repo.headers['Content-Length']) + except requests.exceptions.RequestException: + print(f'\n\n{self.endc}{self.prog_name}: {self.bred}Error:{self.endc} ' + f'Failed to connect to {repo_chg_txt}\n') + else: + repo_size: int = int(repo.headers['Content-Length']) logger = logging.getLogger(LoggingConfig.date_time) logger.info(f'{self.__class__.__name__}: '