Merge "repo-review: Add a 'submit' command line option" am: 758cd9929c
Change-Id: I43ea5e8ac0edca48611045946124b90a31f1b721
This commit is contained in:
@@ -200,6 +200,14 @@ def set_review(url_opener, gerrit_url, change_id, labels, message):
|
|||||||
return _make_json_post_request(url_opener, url, data)
|
return _make_json_post_request(url_opener, url, data)
|
||||||
|
|
||||||
|
|
||||||
|
def submit(url_opener, gerrit_url, change_id):
|
||||||
|
"""Submit a change list."""
|
||||||
|
|
||||||
|
url = '{}/a/changes/{}/submit'.format(gerrit_url, change_id)
|
||||||
|
|
||||||
|
return _make_json_post_request(url_opener, url, {})
|
||||||
|
|
||||||
|
|
||||||
def abandon(url_opener, gerrit_url, change_id, message):
|
def abandon(url_opener, gerrit_url, change_id, message):
|
||||||
"""Abandon a change list."""
|
"""Abandon a change list."""
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ except ImportError:
|
|||||||
|
|
||||||
from gerrit import (
|
from gerrit import (
|
||||||
add_reviewers, delete_reviewer, abandon, create_url_opener_from_args,
|
add_reviewers, delete_reviewer, abandon, create_url_opener_from_args,
|
||||||
delete_topic, query_change_lists, set_hashtags, set_review, set_topic)
|
delete_topic, query_change_lists, set_hashtags, set_review, set_topic,
|
||||||
|
submit)
|
||||||
|
|
||||||
|
|
||||||
def _get_labels_from_args(args):
|
def _get_labels_from_args(args):
|
||||||
@@ -99,6 +100,8 @@ def _parse_args():
|
|||||||
help='Labels to be added')
|
help='Labels to be added')
|
||||||
parser.add_argument('-m', '--message', help='Review message')
|
parser.add_argument('-m', '--message', help='Review message')
|
||||||
|
|
||||||
|
parser.add_argument('--submit', action='store_true', help='Submit a CL')
|
||||||
|
|
||||||
parser.add_argument('--abandon', help='Abandon a CL with a message')
|
parser.add_argument('--abandon', help='Abandon a CL with a message')
|
||||||
|
|
||||||
parser.add_argument('--add-hashtag', action='append', help='Add hashtag')
|
parser.add_argument('--add-hashtag', action='append', help='Add hashtag')
|
||||||
@@ -124,6 +127,8 @@ def _has_task(args):
|
|||||||
"""Determine whether a task has been specified in the arguments."""
|
"""Determine whether a task has been specified in the arguments."""
|
||||||
if args.label is not None or args.message is not None:
|
if args.label is not None or args.message is not None:
|
||||||
return True
|
return True
|
||||||
|
if args.submit:
|
||||||
|
return True
|
||||||
if args.abandon is not None:
|
if args.abandon is not None:
|
||||||
return True
|
return True
|
||||||
if args.add_hashtag or args.remove_hashtag:
|
if args.add_hashtag or args.remove_hashtag:
|
||||||
@@ -183,9 +188,10 @@ def main():
|
|||||||
# Parse and check the command line options
|
# Parse and check the command line options
|
||||||
args = _parse_args()
|
args = _parse_args()
|
||||||
if not _has_task(args):
|
if not _has_task(args):
|
||||||
print('error: Either --label, --message, --abandon, --add-hashtag, '
|
print('error: Either --label, --message, --submit, --abandon, '
|
||||||
'--remove-hashtag, --set-topic, --delete-topic, --add-reviewer '
|
'--add-hashtag, --remove-hashtag, --set-topic, --delete-topic, '
|
||||||
'or --delete-reviewer must be specified', file=sys.stderr)
|
'--add-reviewer or --delete-reviewer must be specified',
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Convert label arguments
|
# Convert label arguments
|
||||||
@@ -226,6 +232,9 @@ def main():
|
|||||||
if args.delete_topic:
|
if args.delete_topic:
|
||||||
_do_task(change, delete_topic, url_opener, args.gerrit,
|
_do_task(change, delete_topic, url_opener, args.gerrit,
|
||||||
change['id'], expected_http_code=204, errors=errors)
|
change['id'], expected_http_code=204, errors=errors)
|
||||||
|
if args.submit:
|
||||||
|
_do_task(change, submit, url_opener, args.gerrit, change['id'],
|
||||||
|
errors=errors)
|
||||||
if args.abandon:
|
if args.abandon:
|
||||||
_do_task(change, abandon, url_opener, args.gerrit, change['id'],
|
_do_task(change, abandon, url_opener, args.gerrit, change['id'],
|
||||||
args.abandon, errors=errors)
|
args.abandon, errors=errors)
|
||||||
|
|||||||
Reference in New Issue
Block a user