11import tkinter as tk
22import queue
33import threading
4+ import traceback
45
56from core .utils .time_utils import format_time , unix_to_datetime
67from core .utils .file_utils import calc_runtime
@@ -39,7 +40,7 @@ def __init__(self, parent, controller, logic_controller):
3940 self .app_label = tk .Label (self , text = "Tracked App Name: " + self .app_readout )
4041 self .app_label .pack (pady = 5 )
4142
42- self .total_time_label = tk .Label (self , text = "Total Runtime: " + self .time_readout )
43+ self .total_time_label = tk .Label (self , text = "Total Session Runtime: " + self .time_readout )
4344 self .total_time_label .pack (pady = 5 )
4445
4546 self .ptime_label = tk .Label (self , text = "Total Project Runtime: " + self .ptime_readout )
@@ -72,16 +73,24 @@ def update_total_time(self):
7273 self .name_readout = "Session Name: " + item ['session_name' ]
7374 self .name_label .config (text = self .name_readout )
7475
75- self .project_readout = "Project Name: " + item ['project_name' ]
76- self .project_label .config (text = self .project_readout )
76+ if item ['project_name' ] != "Error" :
77+ self .project_readout = "Project Name: " + item ['project_name' ]
78+ self .project_label .config (text = self .project_readout )
79+ else :
80+ self .project_readout = "N/A"
81+ self .project_label .config (text = "Project Name: N/A" )
7782
7883 self .app_readout = "Tracked App Name: " + item ['tracked_app' ]
7984 self .app_label .config (text = self .app_readout )
8085
81- self .ptime_readout = f"Total Project Runtime: { format_time (int (item ['project_time' ]))} "
82- self .ptime_label .config (text = self .ptime_readout )
86+ if item ['project_name' ] != "Error" :
87+ self .ptime_readout = f"Total Project Runtime: { format_time (int (item ['project_time' ]))} "
88+ self .ptime_label .config (text = self .ptime_readout )
89+ else :
90+ self .ptime_readout = "N/A"
91+ self .ptime_label .config (text = "Total Project Runtime: N/A" )
8392
84- self .time_readout = f"Total Runtime: { format_time (int (item ['total_time' ]))} "
93+ self .time_readout = f"Total Session Runtime: { format_time (int (item ['total_time' ]))} "
8594 self .total_time_label .config (text = self .time_readout )
8695
8796 self .start_readout = "Session Started: " + (unix_to_datetime (item ['first_run' ]).strftime ("%Y-%m-%d %H:%M:%S" ) if item ['first_run' ] != "N/A" else "N/A" )
@@ -117,9 +126,11 @@ def total_time_thread(self):
117126 'session_name' : self .logic .file_handler .get_file_name (),
118127 'tracked_app' : self .logic .file_handler .get_data ()['app_name' ],
119128 'total_time' : self .logic .file_handler .get_data ()['time_spent' ],
120- 'project_name' : self .logic .file_handler .get_data ()['project_name' ],
121- 'project_time' : self .logic .project_handler .get_project_total_time (self .logic .file_handler .get_data ()['project_name' ])
122129 })
130+ if self .logic .file_handler .get_data ()['project_name' ]:
131+ data .update ({
132+ 'project_name' : self .logic .file_handler .get_data ()['project_name' ],
133+ 'project_time' : self .logic .project_handler .get_project_total_time (self .logic .file_handler .get_data ()['project_name' ])})
123134 if self .logic .file_handler .get_data ()['session_version' ] != "1.0" :
124135 time_captures = self .logic .file_handler .get_data ()['time_captures' ]
125136 data .update ({
@@ -135,7 +146,8 @@ def total_time_thread(self):
135146 'last_run_length' : calc_runtime (self .logic .file_handler .get_data (), - 1 )
136147 })
137148 except (TypeError , KeyError ):
138- pass
149+ print ("Error loading session data:\n " )
150+ print (traceback .format_exc ())
139151
140152 # Put the data into the queue to update the UI
141153 self .update_queue .put (data )
0 commit comments