- Revision
- 278890
- Author
- jbed...@apple.com
- Date
- 2021-06-15 12:05:32 -0700 (Tue, 15 Jun 2021)
Log Message
[git-webkit] Handle auth failures
https://bugs.webkit.org/show_bug.cgi?id=226999
<rdar://problem/79313850>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): We should attempt to retrieve credentials, even if they
are not requested because retrieving credentials does not prompt the user.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.request): In the event we get a 400 error from the GitHub API,
attempt forcing authentication before reporting an error.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (278889 => 278890)
--- trunk/Tools/ChangeLog 2021-06-15 19:04:43 UTC (rev 278889)
+++ trunk/Tools/ChangeLog 2021-06-15 19:05:32 UTC (rev 278890)
@@ -1,3 +1,22 @@
+2021-06-15 Jonathan Bedard <jbed...@apple.com>
+
+ [git-webkit] Handle auth failures
+ https://bugs.webkit.org/show_bug.cgi?id=226999
+ <rdar://problem/79313850>
+
+ Reviewed by Dewei Zhu.
+
+ * Scripts/libraries/webkitcorepy/setup.py: Bump version.
+ * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
+ * Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
+ (credentials): We should attempt to retrieve credentials, even if they
+ are not requested because retrieving credentials does not prompt the user.
+ * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
+ (GitHub.request): In the event we get a 400 error from the GitHub API,
+ attempt forcing authentication before reporting an error.
+
2021-06-15 Alex Christensen <achristen...@webkit.org>
Check for "xn--" in any subdomain when parsing URL hosts
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (278889 => 278890)
--- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-06-15 19:04:43 UTC (rev 278889)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-06-15 19:05:32 UTC (rev 278890)
@@ -30,7 +30,7 @@
setup(
name='webkitcorepy',
- version='0.5.17',
+ version='0.5.18',
description='Library containing various Python support classes and functions.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (278889 => 278890)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-06-15 19:04:43 UTC (rev 278889)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-06-15 19:05:32 UTC (rev 278890)
@@ -37,7 +37,7 @@
from webkitcorepy.task_pool import TaskPool
from webkitcorepy.credentials import credentials
-version = Version(0, 5, 17)
+version = Version(0, 5, 18)
from webkitcorepy.autoinstall import Package, AutoInstall
if sys.version_info > (3, 0):
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py (278889 => 278890)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py 2021-06-15 19:04:43 UTC (rev 278889)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py 2021-06-15 19:05:32 UTC (rev 278890)
@@ -67,7 +67,7 @@
username = (input if sys.version_info > (3, 0) else raw_input)()
username_prompted = True
- if not key and required:
+ if not key:
try:
if keyring:
key = keyring.get_password(url, username)
@@ -74,7 +74,7 @@
except RuntimeError:
pass
- if not key:
+ if not key and required:
if not sys.stderr.isatty() or not sys.stdin.isatty():
raise OSError('No tty to prompt user for username')
key = getpass.getpass('{}: '.format(key_name.capitalize()))
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (278889 => 278890)
--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-06-15 19:04:43 UTC (rev 278889)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-06-15 19:05:32 UTC (rev 278890)
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='0.14.3',
+ version='0.14.4',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (278889 => 278890)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-06-15 19:04:43 UTC (rev 278889)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-06-15 19:05:32 UTC (rev 278890)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(0, 14, 3)
+version = Version(0, 14, 4)
AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
AutoInstall.register(Package('monotonic', Version(1, 5)))
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py (278889 => 278890)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py 2021-06-15 19:04:43 UTC (rev 278889)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py 2021-06-15 19:05:32 UTC (rev 278890)
@@ -97,6 +97,8 @@
path='/{}'.format(path) if path else '',
)
response = requests.get(url, params=params, headers=headers, auth=auth)
+ if authenticated is None and not auth and response.status_code // 100 == 4:
+ return self.request(path=path, params=params, headers=headers, authenticated=True, paginate=paginate)
if response.status_code != 200:
sys.stderr.write("Request to '{}' returned status code '{}'\n".format(url, response.status_code))
message = response.json().get('message')