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

Side by Side Diff: commit_queue.py

Issue 1075723002: Extract authentication options handling into a separate function. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: 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
« no previous file with comments | « auth.py ('k') | gcl.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Access the commit queue from the command line. 6 """Access the commit queue from the command line.
7 """ 7 """
8 8
9 __version__ = '0.1' 9 __version__ = '0.1'
10 10
11 import functools 11 import functools
12 import logging 12 import logging
13 import optparse 13 import optparse
14 import os 14 import os
15 import sys 15 import sys
16 import urllib2 16 import urllib2
17 17
18 import breakpad # pylint: disable=W0611 18 import breakpad # pylint: disable=W0611
19 19
20 import auth
20 import fix_encoding 21 import fix_encoding
21 import rietveld 22 import rietveld
22 23
23 24
24 def usage(more): 25 def usage(more):
25 def hook(fn): 26 def hook(fn):
26 fn.func_usage_more = more 27 fn.func_usage_more = more
27 return fn 28 return fn
28 return hook 29 return hook
29 30
30 31
31 def need_issue(fn): 32 def need_issue(fn):
32 """Post-parse args to create a Rietveld object.""" 33 """Post-parse args to create a Rietveld object."""
33 @functools.wraps(fn) 34 @functools.wraps(fn)
34 def hook(parser, args, *extra_args, **kwargs): 35 def hook(parser, args, *extra_args, **kwargs):
35 old_parse_args = parser.parse_args 36 old_parse_args = parser.parse_args
36 37
37 def new_parse_args(args=None, values=None): 38 def new_parse_args(args=None, values=None):
38 options, args = old_parse_args(args, values) 39 options, args = old_parse_args(args, values)
40 auth_config = auth.extract_auth_config_from_options(options)
39 if not options.issue: 41 if not options.issue:
40 parser.error('Require --issue') 42 parser.error('Require --issue')
41 obj = rietveld.Rietveld(options.server, options.user, None) 43 obj = rietveld.Rietveld(options.server, auth_config, options.user)
42 return options, args, obj 44 return options, args, obj
43 45
44 parser.parse_args = new_parse_args 46 parser.parse_args = new_parse_args
45 47
46 parser.add_option( 48 parser.add_option(
47 '-u', '--user', 49 '-u', '--user',
48 metavar='U', 50 metavar='U',
49 default=os.environ.get('EMAIL_ADDRESS', None), 51 default=os.environ.get('EMAIL_ADDRESS', None),
50 help='Email address, default: %default') 52 help='Email address, default: %default')
51 parser.add_option( 53 parser.add_option(
52 '-i', '--issue', 54 '-i', '--issue',
53 metavar='I', 55 metavar='I',
54 type='int', 56 type='int',
55 help='Rietveld issue number') 57 help='Rietveld issue number')
56 parser.add_option( 58 parser.add_option(
57 '-s', 59 '-s',
58 '--server', 60 '--server',
59 metavar='S', 61 metavar='S',
60 default='http://codereview.chromium.org', 62 default='http://codereview.chromium.org',
61 help='Rietveld server, default: %default') 63 help='Rietveld server, default: %default')
64 auth.add_auth_options(parser)
62 65
63 # Call the original function with the modified parser. 66 # Call the original function with the modified parser.
64 return fn(parser, args, *extra_args, **kwargs) 67 return fn(parser, args, *extra_args, **kwargs)
65 68
66 hook.func_usage_more = '[options]' 69 hook.func_usage_more = '[options]'
67 return hook 70 return hook
68 71
69 72
70 def set_commit(obj, issue, flag): 73 def set_commit(obj, issue, flag):
71 """Sets the commit bit flag on an issue.""" 74 """Sets the commit bit flag on an issue."""
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 return CMDhelp(parser, args) 182 return CMDhelp(parser, args)
180 183
181 184
182 if __name__ == "__main__": 185 if __name__ == "__main__":
183 fix_encoding.fix_encoding() 186 fix_encoding.fix_encoding()
184 try: 187 try:
185 sys.exit(main()) 188 sys.exit(main())
186 except KeyboardInterrupt: 189 except KeyboardInterrupt:
187 sys.stderr.write('interrupted\n') 190 sys.stderr.write('interrupted\n')
188 sys.exit(1) 191 sys.exit(1)
OLDNEW
« no previous file with comments | « auth.py ('k') | gcl.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698