Reduce code duplication
Reduced source code by extracting duplicated code (swift/cli/ringbuilder.py) http://openqa.sed.hu/dashboard/index?did=1&id=OpenStack%3Aswift, in 127~CloneClass Change-Id: Id1081363610075f306eff7cf003c3355f283f1d1 Closes-Bug: 1536127
This commit is contained in:
@@ -181,7 +181,8 @@ def _parse_add_values(argvish):
|
||||
return parsed_devs
|
||||
|
||||
|
||||
def _set_weight_values(devs, weight, opts):
|
||||
def check_devs(devs, input_question, opts, abort_msg):
|
||||
|
||||
if not devs:
|
||||
print('Search value matched 0 devices.\n'
|
||||
'The on-disk ring builder is unchanged.')
|
||||
@@ -191,12 +192,18 @@ def _set_weight_values(devs, weight, opts):
|
||||
print('Matched more than one device:')
|
||||
for dev in devs:
|
||||
print(' %s' % format_device(dev))
|
||||
if not opts.yes and \
|
||||
input('Are you sure you want to update the weight for '
|
||||
'these %s devices? (y/N) ' % len(devs)) != 'y':
|
||||
print('Aborting device modifications')
|
||||
if not opts.yes and input(input_question) != 'y':
|
||||
print(abort_msg)
|
||||
exit(EXIT_ERROR)
|
||||
|
||||
|
||||
def _set_weight_values(devs, weight, opts):
|
||||
|
||||
input_question = 'Are you sure you want to update the weight for these ' \
|
||||
'%s devices? (y/N) ' % len(devs)
|
||||
abort_msg = 'Aborting device modifications'
|
||||
check_devs(devs, input_question, opts, abort_msg)
|
||||
|
||||
for dev in devs:
|
||||
builder.set_dev_weight(dev['id'], weight)
|
||||
print('%s weight set to %s' % (format_device(dev),
|
||||
@@ -240,20 +247,10 @@ def _parse_set_weight_values(argvish):
|
||||
|
||||
def _set_info_values(devs, change, opts):
|
||||
|
||||
if not devs:
|
||||
print("Search value matched 0 devices.\n"
|
||||
"The on-disk ring builder is unchanged.")
|
||||
exit(EXIT_ERROR)
|
||||
|
||||
if len(devs) > 1:
|
||||
print('Matched more than one device:')
|
||||
for dev in devs:
|
||||
print(' %s' % format_device(dev))
|
||||
if not opts.yes and \
|
||||
input('Are you sure you want to update the info for '
|
||||
'these %s devices? (y/N) ' % len(devs)) != 'y':
|
||||
print('Aborting device modifications')
|
||||
exit(EXIT_ERROR)
|
||||
input_question = 'Are you sure you want to update the info for these ' \
|
||||
'%s devices? (y/N) ' % len(devs)
|
||||
abort_msg = 'Aborting device modifications'
|
||||
check_devs(devs, input_question, opts, abort_msg)
|
||||
|
||||
for dev in devs:
|
||||
orig_dev_string = format_device(dev)
|
||||
@@ -760,20 +757,10 @@ swift-ring-builder <builder_file> remove
|
||||
|
||||
devs, opts = _parse_remove_values(argv[3:])
|
||||
|
||||
if not devs:
|
||||
print('Search value matched 0 devices.\n'
|
||||
'The on-disk ring builder is unchanged.')
|
||||
exit(EXIT_ERROR)
|
||||
|
||||
if len(devs) > 1:
|
||||
print('Matched more than one device:')
|
||||
for dev in devs:
|
||||
print(' %s' % format_device(dev))
|
||||
if not opts.yes and \
|
||||
input('Are you sure you want to remove these %s '
|
||||
'devices? (y/N) ' % len(devs)) != 'y':
|
||||
print('Aborting device removals')
|
||||
exit(EXIT_ERROR)
|
||||
input_question = 'Are you sure you want to remove these ' \
|
||||
'%s devices? (y/N) ' % len(devs)
|
||||
abort_msg = 'Aborting device removals'
|
||||
check_devs(devs, input_question, opts, abort_msg)
|
||||
|
||||
for dev in devs:
|
||||
try:
|
||||
|
Reference in New Issue
Block a user