Fixes a bug when item list has only one item

This commit is contained in:
Fred Z 2018-08-09 02:17:45 +02:00
parent 38c398627b
commit f63322d490
1 changed files with 23 additions and 13 deletions

36
cli.py
View File

@ -103,28 +103,38 @@ def get_data_list(db_obj, sql):
val['name'][:CLI_MAX_LEN].ljust(CLI_MAX_LEN), val['name'][:CLI_MAX_LEN].ljust(CLI_MAX_LEN),
val['option'], val['id'] val['option'], val['id']
) for idx, val in enumerate(db_obj.result) if idx % 2 == 0] ) for idx, val in enumerate(db_obj.result) if idx % 2 == 0]
res_uneven = [( res_uneven = [(
idx, idx,
val['name'][:CLI_MAX_LEN], val['name'][:CLI_MAX_LEN],
val['option'], val['option'],
val['id'] val['id']
) for idx, val in enumerate(db_obj.result) if idx % 2 != 0] ) for idx, val in enumerate(db_obj.result) if idx % 2 != 0]
# category list # category list
results_txt = "" results_txt = ""
for num, unused in enumerate(res_uneven):
results_txt += CLI_ITEM_LIST.format( if len(res_uneven) == 0 and len(res_even) > 0:
res_even[num][0], results_txt += "{} : {}\n".format(
res_even[num][1], res_even[0][0],
res_uneven[num][0], res_even[0][1]
res_uneven[num][1]
) )
if len(res_uneven) < len(res_even): else:
num += 1 for num, unused in enumerate(res_uneven):
results_txt += "{} : {}\n".format( results_txt += CLI_ITEM_LIST.format(
res_even[num][0], res_even[num][0],
res_even[num][1] res_even[num][1],
) res_uneven[num][0],
res_uneven[num][1]
)
if len(res_uneven) < len(res_even):
num += 1
results_txt += "{} : {}\n".format(
res_even[num][0],
res_even[num][1]
)
return { return {
'max_id': max_id, 'max_id': max_id,
@ -243,7 +253,7 @@ else:
) )
# Asks the user to select a substitute # Asks the user to select a substitute
elif substitute_list['max_id'] > 0: elif substitute_list['max_id'] >= 0:
substit_asked = ask_user( substit_asked = ask_user(
head_msg, head_msg,
substitute_list substitute_list