fix multiple cas
This commit is contained in:
parent
421c94b1e3
commit
4aa49e171d
1 changed files with 22 additions and 7 deletions
29
app.py
29
app.py
|
|
@ -1,3 +1,5 @@
|
||||||
|
import re
|
||||||
|
|
||||||
import streamlit as st
|
import streamlit as st
|
||||||
|
|
||||||
from functions_ui import search_cas_inci
|
from functions_ui import search_cas_inci
|
||||||
|
|
@ -68,13 +70,26 @@ def home():
|
||||||
|
|
||||||
# Salva solo il CAS selezionato nel session_state (estrae la parte prima del " - ")
|
# Salva solo il CAS selezionato nel session_state (estrae la parte prima del " - ")
|
||||||
if selected_display and selected_display != "":
|
if selected_display and selected_display != "":
|
||||||
selected_cas = selected_display.split(" - ")[0]
|
cas_pattern = r'\b\d{2,7}-\d{2}-\d\b'
|
||||||
if ";" in selected_cas:
|
found_cas = re.findall(cas_pattern, selected_display)
|
||||||
selected_cas = st.selectbox(options=selected_cas.split(";"), label="CAS multipli, selezionarne uno:")
|
unique_cas = list(dict.fromkeys(found_cas))
|
||||||
elif "/" in selected_cas:
|
|
||||||
selected_cas = st.selectbox(options=selected_cas.split("/"), label="CAS multipli, selezionarne uno:")
|
if not unique_cas:
|
||||||
st.session_state.selected_cas = selected_cas.strip()
|
st.warning("Nessun pattern CAS valido trovato nella stringa.")
|
||||||
st.success(f"CAS selezionato: {selected_cas}")
|
selected_cas = None
|
||||||
|
|
||||||
|
elif len(unique_cas) == 1:
|
||||||
|
selected_cas = unique_cas[0]
|
||||||
|
st.info(f"CAS rilevato: {selected_cas}")
|
||||||
|
|
||||||
|
else:
|
||||||
|
selected_cas = st.selectbox(
|
||||||
|
label="Sono stati rilevati più CAS. Selezionane uno:",
|
||||||
|
options=unique_cas
|
||||||
|
)
|
||||||
|
if selected_cas:
|
||||||
|
st.session_state.selected_cas = selected_cas
|
||||||
|
st.success(f"CAS selezionato: {selected_cas}")
|
||||||
else:
|
else:
|
||||||
# Nessun risultato trovato: permetti di usare l'input manuale
|
# Nessun risultato trovato: permetti di usare l'input manuale
|
||||||
st.warning("Nessun risultato trovato nel database.")
|
st.warning("Nessun risultato trovato nel database.")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue