@@ -95,6 +95,12 @@ def __init__(self, master):
95
95
)
96
96
export_svg_button .pack (padx = 5 , side = tk .LEFT )
97
97
98
+ # error message frame
99
+ msg_frame = ttk .Frame (send_timer_frame )
100
+ msg_frame .pack (padx = 10 ,fill = tk .X , side = tk .LEFT )
101
+ self .msg_label = ttk .Label (msg_frame , text = "" )
102
+ self .msg_label .pack ()
103
+
98
104
# body frame
99
105
body_frame = ttk .Frame (master )
100
106
body_frame .pack (fill = tk .BOTH , expand = True )
@@ -385,6 +391,7 @@ def create_file(self):
385
391
self .load_file ()
386
392
387
393
def select_file (self ):
394
+ self .msg_label .config (text = "" )
388
395
csv_path = filedialog .askopenfilename (filetypes = [("CSV files" , "*.csv" )])
389
396
if not csv_path :
390
397
return
@@ -395,7 +402,11 @@ def load_file(self):
395
402
self .file_path_label .config (text = self .csv_path )
396
403
timetable_csv_str = self .read_file (self .csv_path )
397
404
timetable = csv_to_timetable .TimeTable ()
398
- timetable .load_csv_str (timetable_csv_str )
405
+ try :
406
+ timetable .load_csv_str (timetable_csv_str )
407
+ except Exception as e :
408
+ self .msg_label .config (text = f"ERROR: { e } " )
409
+ return
399
410
400
411
self .stage_list = []
401
412
for row in timetable .get_timetable ():
@@ -417,6 +428,8 @@ def load_file(self):
417
428
self .tree .set_stages (self .stage_list )
418
429
self .draw_stages ()
419
430
431
+ self .msg_label .config (text = "Successfully loaded." )
432
+
420
433
def read_file (self , tar_path ):
421
434
try :
422
435
with open (tar_path , "r" , encoding = "utf-8" ) as f :
0 commit comments