#!/usr/bin/python2 # Copyright 2014 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Add message to 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 CODEREVIEW_ISSUE or: %prog CODEREVIEW_ISSUE <<EOF MESSAGE EOF or: %prog --help """ import optparse import sys import fix_pythonpath # pylint: disable=W0611 from common.py.utils import find_depot_tools # pylint: disable=W0611 import rietveld RIETVELD_URL = 'https://codereview.chromium.org' 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) message to add. """ # Passing None for the email and auth_config will result in a prompt or # reuse of existing cached credentials. my_rietveld = rietveld.Rietveld(RIETVELD_URL, email=None, auth_config=None) my_rietveld.add_comment(issue, message) def main(argv): """main function; see module-level docstring and GetOptionParser help. Args: argv: sys.argv[1:]-type argument list. """ option_parser = optparse.OptionParser(usage=__doc__) _, arguments = option_parser.parse_args(argv) if len(arguments) > 1: option_parser.error('Extra arguments.') if len(arguments) != 1: option_parser.error('Missing issue number.') message = sys.stdin.read() add_codereview_message(int(arguments[0]), message) if __name__ == '__main__': main(sys.argv[1:])