@@ -204,11 +204,12 @@ def on_add_timetrack_from_file(
204
204
):
205
205
"""Open file picker to select a file to upload"""
206
206
self .close_pop_up_if_open ()
207
+ if not is_spreadsheet and not is_ics :
208
+ return
207
209
allowed_exts = ["ics" ] if is_ics else ["xlsx" , "csv" , "xls" , "tsv" , "ods" ]
208
210
title = "Select .ics file" if is_ics else "Select excel file"
209
211
self .pick_file_callback (
210
212
on_file_picker_result = self .on_file_picker_result ,
211
- on_upload_progress = self .on_upload_progress ,
212
213
allowed_extensions = allowed_exts ,
213
214
dialog_title = title ,
214
215
file_type = "custom" ,
@@ -220,33 +221,35 @@ def on_file_picker_result(self, e: FilePickerResultEvent):
220
221
if e .files and len (e .files ) > 0 :
221
222
file = e .files [0 ]
222
223
self .set_progress_hint (f"Uploading file { file .name } " )
223
- self .upload_file_callback (file )
224
224
upload_path = Path (file .path )
225
225
if upload_path :
226
226
self .uploaded_file_path = upload_path
227
+ self .extract_dataframe_from_file ()
227
228
else :
228
229
self .set_progress_hint (hide_progress = True )
229
230
230
- def on_upload_progress (self , e : FilePickerUploadEvent ):
231
- """Handle file upload progress"""
232
- if e .progress == 1.0 :
233
- # upload complete
234
- self .set_progress_hint (f"Upload complete, processing file..." )
235
- intent_result = self .intent .process_timetracking_file (
236
- self .uploaded_file_path ,
237
- )
238
- msg = (
239
- "New work progress recorded."
240
- if intent_result .was_intent_successful
241
- else intent_result .error_msg
242
- )
243
- is_error = not intent_result .was_intent_successful
244
- self .show_snack (msg , is_error )
245
- if intent_result .was_intent_successful :
246
- self .dataframe_to_display = intent_result .data
247
- self .update_timetracking_dataframe ()
248
- self .display_dataframe ()
249
- self .set_progress_hint (hide_progress = True )
231
+ def extract_dataframe_from_file (self ,):
232
+
233
+ """Execute intent to process file"""
234
+ if not self .uploaded_file_path :
235
+ return
236
+ # upload complete
237
+ self .set_progress_hint (f"Upload complete, processing file..." )
238
+ intent_result = self .intent .process_timetracking_file (
239
+ self .uploaded_file_path ,
240
+ )
241
+ msg = (
242
+ "New work progress recorded."
243
+ if intent_result .was_intent_successful
244
+ else intent_result .error_msg
245
+ )
246
+ is_error = not intent_result .was_intent_successful
247
+ self .show_snack (msg , is_error )
248
+ if intent_result .was_intent_successful :
249
+ self .dataframe_to_display = intent_result .data
250
+ self .update_timetracking_dataframe ()
251
+ self .display_dataframe ()
252
+ self .set_progress_hint (hide_progress = True )
250
253
251
254
"""Cloud calendar setup"""
252
255
0 commit comments