Title: [289690] trunk/Tools

Diff

Modified: trunk/Tools/ChangeLog (289689 => 289690)


--- trunk/Tools/ChangeLog	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/ChangeLog	2022-02-12 14:20:42 UTC (rev 289690)
@@ -1,3 +1,16 @@
+2022-02-12  Commit Queue  <[email protected]>
+
+        Unreviewed, reverting r289687.
+        https://bugs.webkit.org/show_bug.cgi?id=236539
+
+        broke commit queue
+
+        Reverted changeset:
+
+        "git-webkit setup should allow changing the credentials"
+        https://bugs.webkit.org/show_bug.cgi?id=235297
+        https://commits.webkit.org/r289687
+
 2022-02-08  Jonathan Bedard  <[email protected]>
 
         git-webkit setup should allow changing the credentials

Modified: trunk/Tools/Scripts/libraries/webkitbugspy/setup.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitbugspy/setup.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/setup.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -30,7 +30,7 @@
 
 setup(
     name='webkitbugspy',
-    version='0.3.3',
+    version='0.3.2',
     description='Library containing a shared API for various bug trackers.',
     long_description=readme(),
     classifiers=[

Modified: trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -46,7 +46,7 @@
         "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
     )
 
-version = Version(0, 3, 3)
+version = Version(0, 3, 2)
 
 from .user import User
 from .issue import Issue

Modified: trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -110,19 +110,11 @@
                 return self.issue(int(match.group('id')))
         return None
 
-    def credentials(self, required=True, validate=False):
-        def validater(username, password):
-            response = requests.get('{}/rest/user/{}?login={}&password={}'.format(self.url, username, username, password))
-            if response.status_code == 200:
-                return True
-            sys.stderr.write('Login to {} for {} failed\n'.format(self.url, username))
-            return False
-
+    def credentials(self, required=True):
         return webkitcorepy.credentials(
             url=""
             required=required,
             prompt=self.url.split('//')[-1],
-            validater=validater if validate else None,
         )
 
     def _login_arguments(self, required=False, query=None):

Modified: trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -86,23 +86,9 @@
                 return self.issue(int(match.group('id')))
         return None
 
-    def credentials(self, required=True, validate=False):
-        def validater(username, access_token):
-            if '@' in username:
-                sys.stderr.write("Provided username contains an '@' symbol. Please make sure to enter your GitHub username, not an email associated with the account\n")
-                return False
-            response = requests.get(
-                '{}/user'.format(self.api_url),
-                headers=dict(Accept='application/vnd.github.v3+json'),
-                auth=HTTPBasicAuth(username, access_token),
-            )
-            if response.status_code == 200 and response.json().get('login') == username:
-                return True
-            sys.stderr.write('Login to {} for {} failed\n'.format(self.api_url, username))
-            return False
-
+    def credentials(self, required=True):
         hostname = self.url.split('/')[2]
-        return webkitcorepy.credentials(
+        args = dict(
             url=""
             required=required,
             name=self.url.split('/')[2].replace('.', '_').upper(),
@@ -110,9 +96,17 @@
 Please go to https://{host}/settings/tokens/new and generate a new 'Personal access token' via 'Developer settings'
 with 'repo' and 'workflow' access and appropriate 'Expiration' for your {host} user'''.format(host=hostname),
             key_name='token',
-            validater=validater if validate else None,
         )
 
+        username, token = webkitcorepy.credentials(**args)
+        if username and '@' in username:
+            sys.stderr.write("Provided username contains an '@' symbol. Please make sure to enter your GitHub username, not an email associated with the account\n")
+            webkitcorepy.delete_credentials(url="" name=args['name'])
+            username, token = webkitcorepy.credentials(**args)
+        if username and '@' in username:
+            raise ValueError("GitHub usernames cannot have '@' in them")
+        return username, token
+
     def request(self, path=None, params=None, headers=None, authenticated=None, paginate=True):
         headers = {key: value for key, value in headers.items()} if headers else dict()
         headers['Accept'] = headers.get('Accept', 'application/vnd.github.v3+json')

Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -30,7 +30,7 @@
 
 setup(
     name='webkitcorepy',
-    version='0.13.0',
+    version='0.12.9',
     description='Library containing various Python support classes and functions.',
     long_description=readme(),
     classifiers=[

Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -44,7 +44,7 @@
 from webkitcorepy.editor import Editor
 from webkitcorepy.file_lock import FileLock
 
-version = Version(0, 13, 0)
+version = Version(0, 12, 10)
 
 from webkitcorepy.autoinstall import Package, AutoInstall
 if sys.version_info > (3, 0):

Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -24,12 +24,12 @@
 import sys
 
 from subprocess import CalledProcessError
-from webkitcorepy import Environment, OutputCapture, Terminal, string_utils
+from webkitcorepy import Environment, OutputCapture, Terminal
 
 _cache = dict()
 
 
-def credentials(url, required=True, name=None, prompt=None, key_name='password', validater=None, retry=3):
+def credentials(url, required=True, name=None, prompt=None, key_name='password'):
     global _cache
 
     name = name or url.split('/')[2].replace('.', '_')
@@ -51,50 +51,37 @@
 
     username_prompted = False
     key_prompted = False
+    if not username:
+        try:
+            if keyring:
+                username = keyring.get_password(url, 'username')
+        except (RuntimeError, AttributeError):
+            pass
 
-    for attempt in range(retry):
-        if attempt:
-            sys.stderr.write('Ignoring keychain values and re-prompting user\n')
-        if not username:
-            try:
-                if keyring and not attempt:
-                    username = keyring.get_password(url, 'username')
-            except (RuntimeError, AttributeError):
-                pass
+        if not username and required:
+            if not sys.stderr.isatty() or not sys.stdin.isatty():
+                raise OSError('No tty to prompt user for username')
+            sys.stderr.write("Authentication required to use {}\n".format(prompt or name))
+            sys.stderr.write('Username: ')
+            username = Terminal.input()
+            username_prompted = True
 
-            if not username and required:
-                if not sys.stderr.isatty() or not sys.stdin.isatty():
-                    raise OSError('No tty to prompt user for username')
-                sys.stderr.write("Authentication required to use {}\n".format(prompt or name))
-                sys.stderr.write('Username: ')
-                username = Terminal.input()
-                username_prompted = True
+    if not key:
+        try:
+            if keyring:
+                key = keyring.get_password(url, username)
+        except (RuntimeError, AttributeError):
+            pass
 
-        if not key:
-            try:
-                if keyring and not attempt:
-                    key = keyring.get_password(url, username)
-            except (RuntimeError, AttributeError):
-                pass
+        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()))
+            key_prompted = True
 
-            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()))
-                key_prompted = True
+    if username and key:
+        _cache[name] = (username, key)
 
-        if username and key and (not validater or validater(username, key)):
-            _cache[name] = (username, key)
-            break
-
-        username = None
-        key = None
-        sys.stderr.write("Failed to validate credentials for '{}' ({} attempt)\n".format(url, string_utils.ordinal(attempt + 1)))
-
-    if not username or not key:
-        sys.stderr.write("Exhausted attempts to prompt user for '{}' credentials\n".format(url))
-        sys.exit(1)
-
     if keyring and (username_prompted or key_prompted):
         if Terminal.choose(
             'Store username and {} in system keyring for {}?'.format(key_name, url),

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -29,7 +29,7 @@
 
 setup(
     name='webkitscmpy',
-    version='4.1.4',
+    version='4.1.3',
     description='Library designed to interact with git and svn repositories.',
     long_description=readme(),
     classifiers=[

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -46,7 +46,7 @@
         "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
     )
 
-version = Version(4, 1, 4)
+version = Version(4, 1, 3)
 
 AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
 AutoInstall.register(Package('jinja2', Version(2, 11, 3)))

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -251,7 +251,7 @@
         if code:
             return result
 
-        username, _ = rmt.credentials(required=True, validate=True)
+        username, _ = rmt.credentials(required=True)
         log.info("Adding forked remote as '{}' and 'fork'...".format(username))
         url = ""
 

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py (289689 => 289690)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py	2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py	2022-02-12 14:20:42 UTC (rev 289690)
@@ -272,8 +272,8 @@
                 users.create(contributor.name, contributor.github, contributor.emails)
         self.tracker = Tracker(url, users=users)
 
-    def credentials(self, required=True, validate=False):
-        return self.tracker.credentials(required=required, validate=validate)
+    def credentials(self, required=True):
+        return self.tracker.credentials(required=required)
 
     @property
     def is_git(self):
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to