Chromium Code Reviews| Index: tools/add_codereview_message.py |
| diff --git a/tools/add_codereview_message.py b/tools/add_codereview_message.py |
| index 6710390ac1bba25078d4bd25e5d2bed522e20028..3bb6ef7c96c50a289c1cb1922183cb84fe12a2b9 100755 |
| --- a/tools/add_codereview_message.py |
| +++ b/tools/add_codereview_message.py |
| @@ -7,14 +7,12 @@ |
| """Add message to codereview issue. |
| -This script takes a codereview URL or a codereview issue number as its |
| -argument and a (possibly multi-line) message on stdin. It then calls |
| -`git cl upload` to append the message to the given codereview issue. |
| +This script takes a codereview issue number as its argument and a (possibly |
| +multi-line) message on stdin. It appends the message to the given issue. |
| Usage: |
| - echo MESSAGE | %prog -c CHECKOUT_PATH CODEREVIEW_ISSUE |
| + echo MESSAGE | %prog CODEREVIEW_ISSUE |
| or: |
| - cd /path/to/git/checkout |
| %prog CODEREVIEW_ISSUE <<EOF |
| MESSAGE |
| EOF |
| @@ -23,77 +21,25 @@ or: |
| """ |
| import optparse |
| -import os |
| import sys |
| -import git_utils |
| -import misc_utils |
| +import fix_pythonpath # pylint: disable=W0611 |
|
rmistry
2014/06/24 18:31:04
nit: inline comments should have two spaces from t
borenet
2014/06/24 19:17:31
Done.
|
| +from common.py.utils import find_depot_tools # pylint: disable=W0611 |
|
rmistry
2014/06/24 18:31:05
Same here.
borenet
2014/06/24 19:17:31
Done.
|
| +import rietveld |
| -DEFAULT_REVIEWERS = ','.join([ |
| - 'rmistry@google.com', |
| - 'reed@google.com', |
| - 'bsalomon@google.com', |
| - 'robertphillips@google.com', |
| - ]) |
| - |
| - |
| -DEFAULT_CC_LIST = ','.join([ |
| - 'skia-team@google.com', |
| - ]) |
| - |
| - |
| -def add_codereview_message(codereview_url, message, checkout_path, |
| - skip_cl_upload, verbose, reviewers, cclist): |
| +def add_codereview_message(issue, message): |
| """Add a message to a given codereview. |
| Args: |
| codereview_url: (string) we will extract the issue number from |
| this url, or this could simply be the issue number. |
| - message: (string) will be passed to `git cl upload -m $MESSAGE` |
| - checkout_path: (string) location of the git |
| - repository checkout to be used. |
| - skip_cl_upload: (boolean) if true, don't actually |
| - add the message and keep the temporary branch around. |
| - verbose: (boolean) print out details useful for debugging. |
| - reviewers: (string) comma-separated list of reviewers |
| - cclist: (string) comma-separated list of addresses to be |
| - carbon-copied |
| + message: (string) message to add. |
| """ |
| - # pylint: disable=I0011,R0913 |
| - git = git_utils.git_executable() |
| - issue = codereview_url.strip('/').split('/')[-1] |
| - vsp = misc_utils.VerboseSubprocess(verbose) |
| - if skip_cl_upload: |
| - branch_name = 'issue_%s' % issue |
| - else: |
| - branch_name = None |
| - upstream = 'origin/master' |
| - |
| - with misc_utils.ChangeDir(checkout_path, verbose): |
| - vsp.check_call([git, 'fetch', '-q', 'origin']) |
| - |
| - with git_utils.ChangeGitBranch(branch_name, upstream, verbose): |
| - vsp.check_call([git, 'cl', 'patch', issue]) |
| - |
| - git_upload = [ |
| - git, 'cl', 'upload', '-t', 'bot report', '-m', message] |
| - if cclist: |
| - git_upload.append('--cc=' + cclist) |
| - if reviewers: |
| - git_upload.append('--reviewers=' + reviewers) |
| - |
| - if skip_cl_upload: |
| - branch_name = git_utils.git_branch_name(verbose) |
| - space = ' ' |
| - print 'You should call:' |
| - misc_utils.print_subprocess_args(space, ['cd', os.getcwd()]) |
| - misc_utils.print_subprocess_args( |
| - space, [git, 'checkout', branch_name]) |
| - misc_utils.print_subprocess_args(space, git_upload) |
| - else: |
| - vsp.check_call(git_upload) |
| - print vsp.check_output([git, 'cl', 'issue']) |
| + my_rietveld = rietveld.Rietveld('https://codereview.chromium.org', None, |
|
rmistry
2014/06/24 18:31:04
Make codereview.chromium.org a constant.
What are
borenet
2014/06/24 19:17:31
Done.
|
| + None) |
| + |
| + my_rietveld.add_comment(issue, message) |
| def main(argv): |
| @@ -103,44 +49,15 @@ def main(argv): |
| argv: sys.argv[1:]-type argument list. |
| """ |
| option_parser = optparse.OptionParser(usage=__doc__) |
| - option_parser.add_option( |
| - '-c', '--checkout_path', |
| - default=os.curdir, |
| - help='Path to the Git repository checkout,' |
| - ' defaults to current working directory.') |
| - option_parser.add_option( |
| - '', '--skip_cl_upload', action='store_true', default=False, |
| - help='Skip the cl upload step; useful for testing.') |
| - option_parser.add_option( |
| - '', '--verbose', action='store_true', dest='verbose', default=False, |
| - help='Do not suppress the output from `git cl`.',) |
| - option_parser.add_option( |
| - '', '--git_path', default='git', |
| - help='Git executable, defaults to "git".',) |
| - option_parser.add_option( |
| - '', '--reviewers', default=DEFAULT_REVIEWERS, |
| - help=('Comma-separated list of reviewers. Default is "%s".' |
| - % DEFAULT_REVIEWERS)) |
| - option_parser.add_option( |
| - '', '--cc', default=DEFAULT_CC_LIST, |
| - help=('Comma-separated list of addresses to be carbon-copied.' |
| - ' Default is "%s".' % DEFAULT_CC_LIST)) |
| - |
| - options, arguments = option_parser.parse_args(argv) |
| - |
| - if not options.checkout_path: |
| - option_parser.error('Must specify checkout_path.') |
| - if not git_utils.git_executable(): |
| - option_parser.error('Invalid git executable.') |
| + _, arguments = option_parser.parse_args(argv) |
| + |
| if len(arguments) > 1: |
| option_parser.error('Extra arguments.') |
| if len(arguments) != 1: |
| - option_parser.error('Missing Codereview URL.') |
| + option_parser.error('Missing issue number.') |
| message = sys.stdin.read() |
| - add_codereview_message(arguments[0], message, options.checkout_path, |
| - options.skip_cl_upload, options.verbose, |
| - options.reviewers, options.cc) |
| + add_codereview_message(int(arguments[0]), message) |
| if __name__ == '__main__': |