Formates better the lists (prod/cat/sub) #5

- Truncates the name in the 2 column menu (but keep full name in others places)
This commit is contained in:
Fred Z 2018-08-07 23:21:54 +02:00
parent 18107a065f
commit 6c67b01164
2 changed files with 16 additions and 7 deletions

20
cli.py
View File

@ -18,7 +18,8 @@ from db import Db
from config import DB_REQUEST, CLI_MSG_DISCLAIMER, CLI_MSG_ASK_IDX, \
CLI_MSG_ASK_ERR, CLI_MSG_QUIT, CLI_MSG_CHOOSEN_CAT, CLI_MSG_PROD, \
CLI_MSG_SUBST, CLI_MSG_NO_SUBST, CLI_MSG_CAT, CLI_MSG_CHOOSEN_PROD, \
CLI_MSG_DETAILLED_SUB, CLI_MSG_CHOOSEN_SUBST
CLI_MSG_DETAILLED_SUB, CLI_MSG_CHOOSEN_SUBST, CLI_ITEM_MAX_LEN, \
CLI_ITEM_LIST
cli_end_msg = str()
product_asked = {'valid_item': False}
@ -95,14 +96,21 @@ def get_data_list(db_obj, sql):
for idx, val in enumerate(db_obj.result)]
# Hacky results-split for rendering in 2 columns
res_even = [(idx, val['name'], val['option'], val['id'])
for idx, val in enumerate(db_obj.result) if idx % 2 == 0]
res_uneven = [(idx, val['name'], val['option'], val['id'])
for idx, val in enumerate(db_obj.result) if idx % 2 != 0]
res_even = [(
idx,
val['name'][:CLI_ITEM_MAX_LEN].ljust(CLI_ITEM_MAX_LEN),
val['option'], val['id']
) for idx, val in enumerate(db_obj.result) if idx % 2 == 0]
res_uneven = [(
idx,
val['name'][:CLI_ITEM_MAX_LEN],
val['option'],
val['id']
) for idx, val in enumerate(db_obj.result) if idx % 2 != 0]
# category list
results_txt = ""
for num, unused in enumerate(res_uneven):
results_txt += "{} : {} \t\t {} : {}\n".format(
results_txt += CLI_ITEM_LIST.format(
res_even[num][0],
res_even[num][1],
res_uneven[num][0],

View File

@ -34,6 +34,8 @@ DB_REQUEST = {
'save_substitute': "UPDATE product SET substitute_id={} WHERE id={}",
}
CLI_ITEM_MAX_LEN = 30
CLI_ITEM_LIST = "{} : {} \t {} : {}\n"
CLI_MSG_DISCLAIMER = "# # # Bienvenu sur le terminal # # #\n\n"
CLI_MSG_CAT = "Catégories disponibles :\n"
CLI_MSG_PROD = "Produits disponibles :\n"
@ -51,7 +53,6 @@ CLI_MSG_DETAILLED_SUB = "Nutriscore [ {nutri} ]\tCode [ {code} ]"\
CLI_MSG_NO_SUBST = "Pas de substitut trouvé pour le produit «{}» (nutriscore : «{}»)"
CLI_MSG_ASK_ERR = "\nSaisie incorrecte : «{}»"
CLI_MSG_QUIT = "\nAu revoir!"
#CLI_ITEM_MAX_LEN = 15
# DATABASE
DB_CONFIG = {