Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: auth.py

Issue 1095033002: Enable OAuth2 by default. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: fix smoke tests Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « .gitignore ('k') | tests/abandon.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Google OAuth2 related functions.""" 5 """Google OAuth2 related functions."""
6 6
7 import BaseHTTPServer 7 import BaseHTTPServer
8 import collections 8 import collections
9 import datetime 9 import datetime
10 import functools 10 import functools
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 webserver_port=None, 104 webserver_port=None,
105 refresh_token_json=None): 105 refresh_token_json=None):
106 """Returns new instance of AuthConfig. 106 """Returns new instance of AuthConfig.
107 107
108 If some config option is None, it will be set to a reasonable default value. 108 If some config option is None, it will be set to a reasonable default value.
109 This function also acts as an authoritative place for default values of 109 This function also acts as an authoritative place for default values of
110 corresponding command line options. 110 corresponding command line options.
111 """ 111 """
112 default = lambda val, d: val if val is not None else d 112 default = lambda val, d: val if val is not None else d
113 return AuthConfig( 113 return AuthConfig(
114 default(use_oauth2, _should_use_oauth2()), 114 default(use_oauth2, True),
115 default(save_cookies, True), 115 default(save_cookies, True),
116 default(use_local_webserver, not _is_headless()), 116 default(use_local_webserver, not _is_headless()),
117 default(webserver_port, 8090), 117 default(webserver_port, 8090),
118 default(refresh_token_json, '')) 118 default(refresh_token_json, ''))
119 119
120 120
121 def add_auth_options(parser, default_config=None): 121 def add_auth_options(parser, default_config=None):
122 """Appends OAuth related options to OptionParser.""" 122 """Appends OAuth related options to OptionParser."""
123 default_config = default_config or make_auth_config() 123 default_config = default_config or make_auth_config()
124 parser.auth_group = optparse.OptionGroup(parser, 'Auth options') 124 parser.auth_group = optparse.OptionGroup(parser, 'Auth options')
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 credentials.token_expiry - datetime.datetime.utcnow()) 474 credentials.token_expiry - datetime.datetime.utcnow())
475 storage = self._get_storage() 475 storage = self._get_storage()
476 credentials.set_store(storage) 476 credentials.set_store(storage)
477 storage.put(credentials) 477 storage.put(credentials)
478 return AccessToken(str(credentials.access_token), credentials.token_expiry) 478 return AccessToken(str(credentials.access_token), credentials.token_expiry)
479 479
480 480
481 ## Private functions. 481 ## Private functions.
482 482
483 483
484 def _should_use_oauth2():
485 """Default value for use_oauth2 config option.
486
487 Used to selectively enable OAuth2 by default.
488 """
489 return os.path.exists(os.path.join(DEPOT_TOOLS_DIR, 'USE_OAUTH2'))
490
491
492 def _is_headless(): 484 def _is_headless():
493 """True if machine doesn't seem to have a display.""" 485 """True if machine doesn't seem to have a display."""
494 return sys.platform == 'linux2' and not os.environ.get('DISPLAY') 486 return sys.platform == 'linux2' and not os.environ.get('DISPLAY')
495 487
496 488
497 def _read_refresh_token_json(path): 489 def _read_refresh_token_json(path):
498 """Returns RefreshToken by reading it from the JSON file.""" 490 """Returns RefreshToken by reading it from the JSON file."""
499 try: 491 try:
500 with open(path, 'r') as f: 492 with open(path, 'r') as f:
501 data = json.load(f) 493 data = json.load(f)
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 self.end_headers() 619 self.end_headers()
628 query = self.path.split('?', 1)[-1] 620 query = self.path.split('?', 1)[-1]
629 query = dict(urlparse.parse_qsl(query)) 621 query = dict(urlparse.parse_qsl(query))
630 self.server.query_params = query 622 self.server.query_params = query
631 self.wfile.write('<html><head><title>Authentication Status</title></head>') 623 self.wfile.write('<html><head><title>Authentication Status</title></head>')
632 self.wfile.write('<body><p>The authentication flow has completed.</p>') 624 self.wfile.write('<body><p>The authentication flow has completed.</p>')
633 self.wfile.write('</body></html>') 625 self.wfile.write('</body></html>')
634 626
635 def log_message(self, _format, *args): 627 def log_message(self, _format, *args):
636 """Do not log messages to stdout while running as command line program.""" 628 """Do not log messages to stdout while running as command line program."""
OLDNEW
« no previous file with comments | « .gitignore ('k') | tests/abandon.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698