UnarineLeo commited on
Commit
a21e8a3
1 Parent(s): d4b7f1e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -23
app.py CHANGED
@@ -49,33 +49,59 @@ with col1:
49
 
50
  if option_selected == 'Enter text input':
51
  st.session_state['warnings'].clear()
52
- @st.fragment
53
- def choose_language(i):
54
- language = st.selectbox(f"Select language for input {i+1}:",
55
- language_options, key=f'language_{i}', index=0)
56
-
 
 
57
  input1, input2 = st.columns(2)
 
58
  for i in range(5):
 
 
 
 
 
59
  with input1:
60
- language = choose_language(i)
61
- st.write(f"lang : {language}")
 
 
 
 
 
 
 
 
62
  with input2:
63
- sentence = st.text_input(f"Enter sentence for input {i+1} (with <mask>):", key=f'text_input_{i}')
64
- if sentence:
65
- if language:
66
- input_sentences[f'{language.lower()}_{i+1}'] = (language.lower(), sentence)
67
- else:
68
- warnings = []
69
- warnings.append(f"Warning: Choose the language for input {i+1}")
70
- st.session_state['warnings'] = warnings
71
-
72
- if st.button("Submit",use_container_width=True):
73
- result, warnings = fill_mask(input_sentences)
74
- st.session_state['warnings'] = warnings
75
-
76
- if st.session_state['warnings']:
77
- for warning in st.session_state['warnings']:
78
- st.warning(warning)
 
 
 
 
 
 
 
 
 
 
79
 
80
  if option_selected == 'Upload a file(csv/txt)':
81
 
 
49
 
50
  if option_selected == 'Enter text input':
51
  st.session_state['warnings'].clear()
52
+
53
+ # Initialize session state to preserve language and sentence inputs between reruns
54
+ if 'input_sentences' not in st.session_state:
55
+ st.session_state['input_sentences'] = {}
56
+ if 'languages_selected' not in st.session_state:
57
+ st.session_state['languages_selected'] = {}
58
+
59
  input1, input2 = st.columns(2)
60
+
61
  for i in range(5):
62
+ # Get the previously selected language and sentence, if available
63
+ previous_language = st.session_state['languages_selected'].get(f'language_{i}', 'Choose language')
64
+ previous_sentence = st.session_state['input_sentences'].get(f'text_input_{i}', '')
65
+
66
+ # Select language in column 1
67
  with input1:
68
+ language = st.selectbox(
69
+ f"Select language for input {i+1}:",
70
+ language_options,
71
+ key=f'language_{i}',
72
+ index=language_options.index(previous_language) if previous_language in language_options else 0
73
+ )
74
+ # Store selected language in session state
75
+ st.session_state['languages_selected'][f'language_{i}'] = language
76
+
77
+ # Enter sentence in column 2
78
  with input2:
79
+ sentence = st.text_input(
80
+ f"Enter sentence for input {i+1} (with <mask>):",
81
+ key=f'text_input_{i}',
82
+ value=previous_sentence
83
+ )
84
+ # Store input sentence in session state
85
+ st.session_state['input_sentences'][f'text_input_{i}'] = sentence
86
+
87
+ if sentence:
88
+ if language and language != 'Choose language':
89
+ # Add valid language and sentence to input_sentences
90
+ st.session_state['input_sentences'][f'{language.lower()}_{i+1}'] = sentence
91
+ else:
92
+ st.session_state['warnings'].append(f"Warning: Choose the language for input {i+1}")
93
+
94
+ # Submit button
95
+ if st.button("Submit"):
96
+ if st.session_state['warnings']:
97
+ # Show warnings if any
98
+ for warning in st.session_state['warnings']:
99
+ st.warning(warning)
100
+ else:
101
+ # Process the sentences if no warnings
102
+ result, warnings = fill_mask(st.session_state['input_sentences'])
103
+ st.session_state['warnings'] = warnings
104
+
105
 
106
  if option_selected == 'Upload a file(csv/txt)':
107