@@ -312,6 +312,10 @@ def authenticate():
312
312
# Once images are uploaded
313
313
if len (tally_sheet_images ) > 0 :
314
314
315
+ # First load session state
316
+ if 'first_load' not in st .session_state :
317
+ st .session_state ['first_load' ] = True
318
+
315
319
# Removing the data upload file button to force users to clear form
316
320
upload_holder .empty ()
317
321
@@ -326,6 +330,8 @@ def authenticate():
326
330
del st .session_state ['page_nums' ]
327
331
if 'pages_confirmed' in st .session_state :
328
332
del st .session_state ['pages_confirmed' ]
333
+ if 'first_load' in st .session_state :
334
+ del st .session_state ['first_load' ]
329
335
st .rerun ()
330
336
331
337
# Sidebar for header data
@@ -396,13 +402,17 @@ def authenticate():
396
402
397
403
# Populate streamlit with data recognized from tally sheets
398
404
399
- table_names , table_dfs , page_nums_to_display = [], [], []
400
- for i , result in enumerate (results ):
401
- names , df = parse_table_data_wrapper (result )
402
- table_names .extend (names )
403
- table_dfs .extend (df )
404
- page_nums_to_display .extend ([str (i + 1 )] * len (names ))
405
- table_dfs = post_processing .evaluate_cells (table_dfs )
405
+ if st .session_state ['first_load' ]:
406
+ table_names , table_dfs , page_nums_to_display = [], [], []
407
+ for i , result in enumerate (results ):
408
+ names , df = parse_table_data_wrapper (result )
409
+ table_names .extend (names )
410
+ table_dfs .extend (df )
411
+ page_nums_to_display .extend ([str (i + 1 )] * len (names ))
412
+ table_dfs = post_processing .evaluate_cells (table_dfs )
413
+ st .session_state ['first_load' ] = False
414
+ else :
415
+ table_dfs = st .session_state ['table_dfs' ].copy ()
406
416
407
417
# Form session state initialization
408
418
if 'table_names' not in st .session_state :
@@ -465,6 +475,7 @@ def authenticate():
465
475
# This can normalize table headers to match DHIS2 using Levenstein distance or semantic search
466
476
if data_set_selected_id :
467
477
edited_dfs = correct_field_names (table_dfs , form )
478
+ print (edited_dfs )
468
479
save_st_table (edited_dfs )
469
480
else :
470
481
raise Exception ("Select a valid dataset" )
0 commit comments