OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The Swarming Authors. All rights reserved. | 2 # Copyright 2013 The Swarming Authors. All rights reserved. |
3 # Use of this source code is governed under the Apache License, Version 2.0 that | 3 # Use of this source code is governed under the Apache License, Version 2.0 that |
4 # can be found in the LICENSE file. | 4 # can be found in the LICENSE file. |
5 | 5 |
6 """Client tool to perform various authentication related tasks.""" | 6 """Client tool to perform various authentication related tasks.""" |
7 | 7 |
8 __version__ = '0.4' | 8 __version__ = '0.4' |
9 | 9 |
10 import logging | 10 import logging |
11 import optparse | 11 import optparse |
12 import sys | 12 import sys |
13 | 13 |
14 from third_party import colorama | 14 from third_party import colorama |
15 from third_party.depot_tools import fix_encoding | 15 from third_party.depot_tools import fix_encoding |
16 from third_party.depot_tools import subcommand | 16 from third_party.depot_tools import subcommand |
17 | 17 |
| 18 from utils import logging_utils |
18 from utils import on_error | 19 from utils import on_error |
19 from utils import net | 20 from utils import net |
20 from utils import oauth | 21 from utils import oauth |
21 from utils import tools | 22 from utils import tools |
22 | 23 |
23 | 24 |
24 class AuthServiceError(Exception): | 25 class AuthServiceError(Exception): |
25 """Unexpected response from authentication service.""" | 26 """Unexpected response from authentication service.""" |
26 | 27 |
27 | 28 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 def CMDcheck(parser, args): | 130 def CMDcheck(parser, args): |
130 """Shows identity associated with currently cached auth token/cookie.""" | 131 """Shows identity associated with currently cached auth token/cookie.""" |
131 (options, args) = parser.parse_args(args) | 132 (options, args) = parser.parse_args(args) |
132 process_auth_options(parser, options) | 133 process_auth_options(parser, options) |
133 service = AuthService(options.service) | 134 service = AuthService(options.service) |
134 service.login(False) | 135 service.login(False) |
135 print service.get_current_identity() | 136 print service.get_current_identity() |
136 return 0 | 137 return 0 |
137 | 138 |
138 | 139 |
139 class OptionParserAuth(tools.OptionParserWithLogging): | 140 class OptionParserAuth(logging_utils.OptionParserWithLogging): |
140 def __init__(self, **kwargs): | 141 def __init__(self, **kwargs): |
141 tools.OptionParserWithLogging.__init__(self, prog='auth.py', **kwargs) | 142 logging_utils.OptionParserWithLogging.__init__( |
| 143 self, prog='auth.py', **kwargs) |
142 self.server_group = tools.optparse.OptionGroup(self, 'Server') | 144 self.server_group = tools.optparse.OptionGroup(self, 'Server') |
143 self.server_group.add_option( | 145 self.server_group.add_option( |
144 '-S', '--service', | 146 '-S', '--service', |
145 metavar='URL', default='', | 147 metavar='URL', default='', |
146 help='Service to use') | 148 help='Service to use') |
147 self.add_option_group(self.server_group) | 149 self.add_option_group(self.server_group) |
148 add_auth_options(self) | 150 add_auth_options(self) |
149 | 151 |
150 def parse_args(self, *args, **kwargs): | 152 def parse_args(self, *args, **kwargs): |
151 options, args = tools.OptionParserWithLogging.parse_args( | 153 options, args = logging_utils.OptionParserWithLogging.parse_args( |
152 self, *args, **kwargs) | 154 self, *args, **kwargs) |
153 options.service = options.service.rstrip('/') | 155 options.service = options.service.rstrip('/') |
154 if not options.service: | 156 if not options.service: |
155 self.error('--service is required.') | 157 self.error('--service is required.') |
156 on_error.report_on_exception_exit(options.service) | 158 on_error.report_on_exception_exit(options.service) |
157 return options, args | 159 return options, args |
158 | 160 |
159 | 161 |
160 def main(args): | 162 def main(args): |
161 dispatcher = subcommand.CommandDispatcher(__name__) | 163 dispatcher = subcommand.CommandDispatcher(__name__) |
162 return dispatcher.execute(OptionParserAuth(version=__version__), args) | 164 return dispatcher.execute(OptionParserAuth(version=__version__), args) |
163 | 165 |
164 | 166 |
165 if __name__ == '__main__': | 167 if __name__ == '__main__': |
166 fix_encoding.fix_encoding() | 168 fix_encoding.fix_encoding() |
167 tools.disable_buffering() | 169 tools.disable_buffering() |
168 colorama.init() | 170 colorama.init() |
169 sys.exit(main(sys.argv[1:])) | 171 sys.exit(main(sys.argv[1:])) |
OLD | NEW |