davideuler
commited on
Commit
·
6990e21
1
Parent(s):
d3f93de
fix: KeyError(_missing_key_error_message(key)) KeyError: 'st.session_state has no key 75180WIDGET_ID-735786182b942ec4a4aca0d5638237df-None. Did you forget to initialize it?
Browse files- pdf_translator_web.py +20 -17
pdf_translator_web.py
CHANGED
@@ -224,21 +224,37 @@ def translate_all_pages(
|
|
224 |
|
225 |
return output_doc
|
226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
def main():
|
228 |
st.set_page_config(layout="wide", page_title="PDF Translator for Human: with Local-LLM/GPT")
|
229 |
st.title("PDF Translator for Human: with Local-LLM/GPT")
|
230 |
|
|
|
|
|
|
|
231 |
# Sidebar configuration
|
232 |
with st.sidebar:
|
233 |
st.header("Settings")
|
234 |
|
235 |
-
# Store previous file name to detect changes
|
236 |
-
previous_file = st.session_state.get('previous_file', None)
|
237 |
uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
|
238 |
|
239 |
# Reset session state when a new file is uploaded
|
240 |
-
if uploaded_file is not None and (previous_file is None or
|
241 |
-
|
242 |
st.session_state.current_page = 0
|
243 |
st.session_state.translation_started = True
|
244 |
st.session_state.all_translated = False
|
@@ -306,8 +322,6 @@ def main():
|
|
306 |
)
|
307 |
|
308 |
# Store API settings in session state
|
309 |
-
if 'api_settings' not in st.session_state:
|
310 |
-
st.session_state.api_settings = {}
|
311 |
st.session_state.api_settings.update({
|
312 |
'api_key': api_key,
|
313 |
'api_base': api_base,
|
@@ -332,17 +346,6 @@ def main():
|
|
332 |
# Create two columns for side-by-side display
|
333 |
col1, col2 = st.columns(2)
|
334 |
|
335 |
-
# Initialize session state
|
336 |
-
if 'current_page' not in st.session_state:
|
337 |
-
st.session_state.current_page = 0
|
338 |
-
st.session_state.translation_started = True # 自动开始翻译
|
339 |
-
|
340 |
-
# Initialize translation status
|
341 |
-
if 'all_translated' not in st.session_state:
|
342 |
-
st.session_state.all_translated = False
|
343 |
-
if 'translated_doc' not in st.session_state:
|
344 |
-
st.session_state.translated_doc = None
|
345 |
-
|
346 |
# Display original pages immediately
|
347 |
with col1:
|
348 |
st.header("Original")
|
|
|
224 |
|
225 |
return output_doc
|
226 |
|
227 |
+
def init_session_state():
|
228 |
+
"""Initialize session state variables"""
|
229 |
+
if 'current_page' not in st.session_state:
|
230 |
+
st.session_state.current_page = 0
|
231 |
+
if 'translation_started' not in st.session_state:
|
232 |
+
st.session_state.translation_started = True
|
233 |
+
if 'all_translated' not in st.session_state:
|
234 |
+
st.session_state.all_translated = False
|
235 |
+
if 'translated_doc' not in st.session_state:
|
236 |
+
st.session_state.translated_doc = None
|
237 |
+
if 'previous_file' not in st.session_state:
|
238 |
+
st.session_state.previous_file = None
|
239 |
+
if 'api_settings' not in st.session_state:
|
240 |
+
st.session_state.api_settings = {}
|
241 |
+
|
242 |
def main():
|
243 |
st.set_page_config(layout="wide", page_title="PDF Translator for Human: with Local-LLM/GPT")
|
244 |
st.title("PDF Translator for Human: with Local-LLM/GPT")
|
245 |
|
246 |
+
# Initialize session state
|
247 |
+
init_session_state()
|
248 |
+
|
249 |
# Sidebar configuration
|
250 |
with st.sidebar:
|
251 |
st.header("Settings")
|
252 |
|
|
|
|
|
253 |
uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
|
254 |
|
255 |
# Reset session state when a new file is uploaded
|
256 |
+
if uploaded_file is not None and (st.session_state.previous_file is None or
|
257 |
+
uploaded_file.name != st.session_state.previous_file):
|
258 |
st.session_state.current_page = 0
|
259 |
st.session_state.translation_started = True
|
260 |
st.session_state.all_translated = False
|
|
|
322 |
)
|
323 |
|
324 |
# Store API settings in session state
|
|
|
|
|
325 |
st.session_state.api_settings.update({
|
326 |
'api_key': api_key,
|
327 |
'api_base': api_base,
|
|
|
346 |
# Create two columns for side-by-side display
|
347 |
col1, col2 = st.columns(2)
|
348 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
# Display original pages immediately
|
350 |
with col1:
|
351 |
st.header("Original")
|