Title: [279009] trunk/Tools
- Revision
- 279009
- Author
- jbed...@apple.com
- Date
- 2021-06-17 14:27:17 -0700 (Thu, 17 Jun 2021)
Log Message
[webkitcorepy] Retry downloads in Autoinstall
https://bugs.webkit.org/show_bug.cgi?id=227134
<rdar://problem/79462182>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.download): Retry failed downloads
(AutoInstall): Allow for a single retry by default
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (279008 => 279009)
--- trunk/Tools/ChangeLog 2021-06-17 21:12:45 UTC (rev 279008)
+++ trunk/Tools/ChangeLog 2021-06-17 21:27:17 UTC (rev 279009)
@@ -1,3 +1,17 @@
+2021-06-17 Jonathan Bedard <jbed...@apple.com>
+
+ [webkitcorepy] Retry downloads in Autoinstall
+ https://bugs.webkit.org/show_bug.cgi?id=227134
+ <rdar://problem/79462182>
+
+ Reviewed by Aakash Jain.
+
+ * Scripts/libraries/webkitcorepy/setup.py: Bump version.
+ * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
+ * Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
+ (Package.Archive.download): Retry failed downloads
+ (AutoInstall): Allow for a single retry by default
+
2021-06-17 Chris Dumez <cdu...@apple.com>
Trying to take empty snapshots of the view should not cause crashes
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (279008 => 279009)
--- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-06-17 21:12:45 UTC (rev 279008)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-06-17 21:27:17 UTC (rev 279009)
@@ -30,7 +30,7 @@
setup(
name='webkitcorepy',
- version='0.5.18',
+ version='0.5.19',
description='Library containing various Python support classes and functions.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (279008 => 279009)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-06-17 21:12:45 UTC (rev 279008)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-06-17 21:27:17 UTC (rev 279009)
@@ -37,7 +37,7 @@
from webkitcorepy.task_pool import TaskPool
from webkitcorepy.credentials import credentials
-version = Version(0, 5, 18)
+version = Version(0, 5, 19)
from webkitcorepy.autoinstall import Package, AutoInstall
if sys.version_info > (3, 0):
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py (279008 => 279009)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py 2021-06-17 21:12:45 UTC (rev 279008)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py 2021-06-17 21:27:17 UTC (rev 279009)
@@ -96,18 +96,30 @@
def download(self):
AutoInstall._verify_index()
- response = AutoInstall._request(self.link)
- try:
- if response.code != 200:
- raise IOError('Failed to retrieve Python module with response code {}'.format(response.code))
- with open(self.path, 'wb') as file:
- while True:
- data = "" ** 13)
- if not data:
- break
- file.write(data)
- finally:
- response.close()
+ count = 0
+ while count <= (AutoInstall.times_to_retry or 0):
+ response = None
+ try:
+ response = AutoInstall._request(self.link)
+ if not response or response.code != 200:
+ raise IOError('Failed to retrieve Python module with response code {}'.format(response.code))
+ with open(self.path, 'wb') as file:
+ while True:
+ data = "" ** 13)
+ if not data:
+ break
+ file.write(data)
+ return
+ except (IOError, URLError) as e:
+ if count > (AutoInstall.times_to_retry or 0):
+ raise
+ else:
+ AutoInstall.log(str(e))
+ AutoInstall.log('Failed to download {}, retrying'.format(self.name))
+ finally:
+ if response:
+ response.close()
+ count += 1
def unpack(self, target):
if not os.path.isfile(self.path):
@@ -378,6 +390,7 @@
directory = None
index = _default_pypi_index()
timeout = 30
+ times_to_retry = 1
version = Version(sys.version_info[0], sys.version_info[1], sys.version_info[2])
packages = defaultdict(list)
manifest = {}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes