1cb93a386Sopenharmony_ci#!/usr/bin/python2 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_ci# Copyright 2014 Google Inc. 4cb93a386Sopenharmony_ci# 5cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be 6cb93a386Sopenharmony_ci# found in the LICENSE file. 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci"""Add message to codereview issue. 9cb93a386Sopenharmony_ci 10cb93a386Sopenharmony_ciThis script takes a codereview issue number as its argument and a (possibly 11cb93a386Sopenharmony_cimulti-line) message on stdin. It appends the message to the given issue. 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_ciUsage: 14cb93a386Sopenharmony_ci echo MESSAGE | %prog CODEREVIEW_ISSUE 15cb93a386Sopenharmony_cior: 16cb93a386Sopenharmony_ci %prog CODEREVIEW_ISSUE <<EOF 17cb93a386Sopenharmony_ci MESSAGE 18cb93a386Sopenharmony_ci EOF 19cb93a386Sopenharmony_cior: 20cb93a386Sopenharmony_ci %prog --help 21cb93a386Sopenharmony_ci""" 22cb93a386Sopenharmony_ci 23cb93a386Sopenharmony_ciimport optparse 24cb93a386Sopenharmony_ciimport sys 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ciimport fix_pythonpath # pylint: disable=W0611 27cb93a386Sopenharmony_cifrom common.py.utils import find_depot_tools # pylint: disable=W0611 28cb93a386Sopenharmony_ciimport rietveld 29cb93a386Sopenharmony_ci 30cb93a386Sopenharmony_ci 31cb93a386Sopenharmony_ciRIETVELD_URL = 'https://codereview.chromium.org' 32cb93a386Sopenharmony_ci 33cb93a386Sopenharmony_ci 34cb93a386Sopenharmony_cidef add_codereview_message(issue, message): 35cb93a386Sopenharmony_ci """Add a message to a given codereview. 36cb93a386Sopenharmony_ci 37cb93a386Sopenharmony_ci Args: 38cb93a386Sopenharmony_ci codereview_url: (string) we will extract the issue number from 39cb93a386Sopenharmony_ci this url, or this could simply be the issue number. 40cb93a386Sopenharmony_ci message: (string) message to add. 41cb93a386Sopenharmony_ci """ 42cb93a386Sopenharmony_ci # Passing None for the email and auth_config will result in a prompt or 43cb93a386Sopenharmony_ci # reuse of existing cached credentials. 44cb93a386Sopenharmony_ci my_rietveld = rietveld.Rietveld(RIETVELD_URL, email=None, auth_config=None) 45cb93a386Sopenharmony_ci 46cb93a386Sopenharmony_ci my_rietveld.add_comment(issue, message) 47cb93a386Sopenharmony_ci 48cb93a386Sopenharmony_ci 49cb93a386Sopenharmony_cidef main(argv): 50cb93a386Sopenharmony_ci """main function; see module-level docstring and GetOptionParser help. 51cb93a386Sopenharmony_ci 52cb93a386Sopenharmony_ci Args: 53cb93a386Sopenharmony_ci argv: sys.argv[1:]-type argument list. 54cb93a386Sopenharmony_ci """ 55cb93a386Sopenharmony_ci option_parser = optparse.OptionParser(usage=__doc__) 56cb93a386Sopenharmony_ci _, arguments = option_parser.parse_args(argv) 57cb93a386Sopenharmony_ci 58cb93a386Sopenharmony_ci if len(arguments) > 1: 59cb93a386Sopenharmony_ci option_parser.error('Extra arguments.') 60cb93a386Sopenharmony_ci if len(arguments) != 1: 61cb93a386Sopenharmony_ci option_parser.error('Missing issue number.') 62cb93a386Sopenharmony_ci 63cb93a386Sopenharmony_ci message = sys.stdin.read() 64cb93a386Sopenharmony_ci add_codereview_message(int(arguments[0]), message) 65cb93a386Sopenharmony_ci 66cb93a386Sopenharmony_ci 67cb93a386Sopenharmony_ciif __name__ == '__main__': 68cb93a386Sopenharmony_ci main(sys.argv[1:]) 69cb93a386Sopenharmony_ci 70