@@ -204,11 +204,12 @@ def on_add_timetrack_from_file(
204204 ):
205205 """Open file picker to select a file to upload"""
206206 self .close_pop_up_if_open ()
207+ if not is_spreadsheet and not is_ics :
208+ return
207209 allowed_exts = ["ics" ] if is_ics else ["xlsx" , "csv" , "xls" , "tsv" , "ods" ]
208210 title = "Select .ics file" if is_ics else "Select excel file"
209211 self .pick_file_callback (
210212 on_file_picker_result = self .on_file_picker_result ,
211- on_upload_progress = self .on_upload_progress ,
212213 allowed_extensions = allowed_exts ,
213214 dialog_title = title ,
214215 file_type = "custom" ,
@@ -220,33 +221,35 @@ def on_file_picker_result(self, e: FilePickerResultEvent):
220221 if e .files and len (e .files ) > 0 :
221222 file = e .files [0 ]
222223 self .set_progress_hint (f"Uploading file { file .name } " )
223- self .upload_file_callback (file )
224224 upload_path = Path (file .path )
225225 if upload_path :
226226 self .uploaded_file_path = upload_path
227+ self .extract_dataframe_from_file ()
227228 else :
228229 self .set_progress_hint (hide_progress = True )
229230
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 )
250253
251254 """Cloud calendar setup"""
252255
0 commit comments