[email protected] commited on
Commit
b440ebf
·
1 Parent(s): 4078987

feat: update config.yaml and form.py to support new input types for parameters

Browse files
Files changed (2) hide show
  1. config.yaml +9 -3
  2. pages/form.py +14 -4
config.yaml CHANGED
@@ -12,14 +12,20 @@ prompts:
12
  - "Quelles sont les techniques de lutte biologique contre les nuisibles ?"
13
 
14
  variables:
15
- - label : Mon paramètre 1
 
16
  key : param1
 
17
  value :
18
- - label : Mon paramètre 2
 
19
  key : param2
 
20
  value :
21
- - label : Mon paramètre 3
 
22
  key : param3
 
23
  value :
24
 
25
  prompt_system: "Prompt system par défaut"
 
12
  - "Quelles sont les techniques de lutte biologique contre les nuisibles ?"
13
 
14
  variables:
15
+ - label : Région viticole
16
+ nature: 'radio'
17
  key : param1
18
+ options : ["Champagne", "Vin de bordeaux", "Occitanie"]
19
  value :
20
+ - label : Millésime
21
+ nature: 'selectbox'
22
  key : param2
23
+ options : ["2019", "2020", "2021"]
24
  value :
25
+ - label : Indicateur
26
+ nature: 'multiselect'
27
  key : param3
28
+ options : ["Prix de revient par hectare (€/ha)", "Prix de revient par hectolitre (€/hl)", "Coût de la main d’oeuvre par hectare (€/ha)", "Frais d’habillage ou de mise (€/bouteille)"]
29
  value :
30
 
31
  prompt_system: "Prompt system par défaut"
pages/form.py CHANGED
@@ -5,10 +5,20 @@ def page():
5
 
6
  # Boucle pour créer des inputs basés sur data_dict (qui est une liste ici)
7
  for param in st.session_state.data_dict:
8
- # Utilisation de la clé 'label' et 'value' pour afficher et récupérer les valeurs
9
- value = st.text_input(label=param['label'], value=param['value'] if param['value'] else "")
10
 
11
- # Mettre à jour la valeur dans le dictionnaire après la saisie utilisateur
12
- param['value'] = value
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
  page()
 
5
 
6
  # Boucle pour créer des inputs basés sur data_dict (qui est une liste ici)
7
  for param in st.session_state.data_dict:
 
 
8
 
9
+ if param['nature'] == 'radio':
10
+ value = st.radio(param['label'], param['options'], key=param['key'], args=[param['key']])
11
+ param['value'] = value
12
+ elif param['nature'] == 'selectbox':
13
+ value = st.selectbox(param['label'], param['options'], key=param['key'], args=[param['key']])
14
+ param['value'] = value
15
+ elif param['nature'] == 'multiselect':
16
+ value = st.multiselect(param['label'], param['options'], key=param['key'], args=[param['key']])
17
+ param['value'] = value
18
+ else:
19
+ # Utilisation de la clé 'label' et 'value' pour afficher et récupérer les valeurs
20
+ value = st.text_input(label=param['label'], value=param['value'] if param['value'] else "")
21
+ # Mettre à jour la valeur dans le dictionnaire après la saisie utilisateur
22
+ param['value'] = value
23
 
24
  page()