Commit 38bc9db9 authored by Quinten Yearsley's avatar Quinten Yearsley Committed by Commit Bot

Style: Don't use builtin name as arg name in User

This CL changes an argument name from raw_input, which conflicts a
builtin name. This is a minor clean-up CL.

Bug: 643937
Change-Id: I88821d6537f9d24b3f78de9b21e0ff690f9c3491
Reviewed-on: https://chromium-review.googlesource.com/564699Reviewed-by: default avatarJeff Carpenter <jeffcarp@chromium.org>
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485481}
parent d30c3532
...@@ -50,19 +50,19 @@ class User(object): ...@@ -50,19 +50,19 @@ class User(object):
# FIXME: These are @classmethods because bugzilla.py doesn't have a Tool object (thus no User instance). # FIXME: These are @classmethods because bugzilla.py doesn't have a Tool object (thus no User instance).
@classmethod @classmethod
def prompt(cls, message, repeat=1, raw_input=raw_input): def prompt(cls, message, repeat=1, input_func=raw_input):
response = None response = None
while repeat and not response: while repeat and not response:
repeat -= 1 repeat -= 1
response = raw_input(message) response = input_func(message)
return response return response
@classmethod @classmethod
def _wait_on_list_response(cls, list_items, can_choose_multiple, raw_input): def _wait_on_list_response(cls, list_items, can_choose_multiple, input_func):
while True: while True:
if can_choose_multiple: if can_choose_multiple:
response = cls.prompt( response = cls.prompt(
'Enter one or more numbers (comma-separated) or ranges (e.g. 3-7), or \'all\': ', raw_input=raw_input) 'Enter one or more numbers (comma-separated) or ranges (e.g. 3-7), or \'all\': ', input_func=input_func)
if not response.strip() or response == 'all': if not response.strip() or response == 'all':
return list_items return list_items
...@@ -80,25 +80,25 @@ class User(object): ...@@ -80,25 +80,25 @@ class User(object):
return [list_items[i] for i in indices] return [list_items[i] for i in indices]
else: else:
try: try:
result = int(cls.prompt('Enter a number: ', raw_input=raw_input)) - 1 result = int(cls.prompt('Enter a number: ', input_func=input_func)) - 1
except ValueError: except ValueError:
continue continue
return list_items[result] return list_items[result]
@classmethod @classmethod
def prompt_with_list(cls, list_title, list_items, can_choose_multiple=False, raw_input=raw_input): def prompt_with_list(cls, list_title, list_items, can_choose_multiple=False, input_func=raw_input):
print list_title print list_title
i = 0 i = 0
for item in list_items: for item in list_items:
i += 1 i += 1
print '%2d. %s' % (i, item) print '%2d. %s' % (i, item)
return cls._wait_on_list_response(list_items, can_choose_multiple, raw_input) return cls._wait_on_list_response(list_items, can_choose_multiple, input_func)
def confirm(self, message=None, default=DEFAULT_YES, raw_input=raw_input): def confirm(self, message=None, default=DEFAULT_YES, input_func=raw_input):
if not message: if not message:
message = 'Continue?' message = 'Continue?'
choice = {'y': 'Y/n', 'n': 'y/N'}[default] choice = {'y': 'Y/n', 'n': 'y/N'}[default]
response = raw_input('%s [%s]: ' % (message, choice)) response = input_func('%s [%s]: ' % (message, choice))
response = response.strip().lower() response = response.strip().lower()
if not response: if not response:
response = default response = default
......
...@@ -47,7 +47,7 @@ class UserTest(unittest.TestCase): ...@@ -47,7 +47,7 @@ class UserTest(unittest.TestCase):
return None return None
self.assertEqual(User.prompt('input', repeat=self.repeats_remaining, self.assertEqual(User.prompt('input', repeat=self.repeats_remaining,
raw_input=mock_raw_input), 'example user response') input_func=mock_raw_input), 'example user response')
def test_prompt_when_exceeded_repeats(self): def test_prompt_when_exceeded_repeats(self):
self.repeats_remaining = 2 self.repeats_remaining = 2
...@@ -55,7 +55,7 @@ class UserTest(unittest.TestCase): ...@@ -55,7 +55,7 @@ class UserTest(unittest.TestCase):
def mock_raw_input(_): def mock_raw_input(_):
self.repeats_remaining -= 1 self.repeats_remaining -= 1
return None return None
self.assertIsNone(User.prompt('input', repeat=self.repeats_remaining, raw_input=mock_raw_input)) self.assertIsNone(User.prompt('input', repeat=self.repeats_remaining, input_func=mock_raw_input))
def test_prompt_with_list(self): def test_prompt_with_list(self):
def run_prompt_test(inputs, expected_result, can_choose_multiple=False): def run_prompt_test(inputs, expected_result, can_choose_multiple=False):
...@@ -66,7 +66,7 @@ class UserTest(unittest.TestCase): ...@@ -66,7 +66,7 @@ class UserTest(unittest.TestCase):
self, self,
User.prompt_with_list, User.prompt_with_list,
args=['title', ['foo', 'bar']], args=['title', ['foo', 'bar']],
kwargs={'can_choose_multiple': can_choose_multiple, 'raw_input': mock_raw_input}, kwargs={'can_choose_multiple': can_choose_multiple, 'input_func': mock_raw_input},
expected_stdout='title\n 1. foo\n 2. bar\n') expected_stdout='title\n 1. foo\n 2. bar\n')
self.assertEqual(actual_result, expected_result) self.assertEqual(actual_result, expected_result)
self.assertEqual(len(inputs), 0) self.assertEqual(len(inputs), 0)
...@@ -87,7 +87,7 @@ class UserTest(unittest.TestCase): ...@@ -87,7 +87,7 @@ class UserTest(unittest.TestCase):
self.assertEqual(expected_message, message) self.assertEqual(expected_message, message)
return user_input return user_input
out = User().confirm(default=default, raw_input=mock_raw_input) out = User().confirm(default=default, input_func=mock_raw_input)
self.assertEqual(expected_out, out) self.assertEqual(expected_out, out)
def test_confirm_input_yes(self): def test_confirm_input_yes(self):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment