@@ -100,12 +100,17 @@ def __init__(self, total_repos: int):
100100 )
101101 self .layout ["progress" ].split_row (
102102 Layout (name = "pbar" , ratio = 4 ),
103+ Layout (name = "time" , ratio = 1 ),
103104 Layout (name = "money" , ratio = 1 ),
104105 )
105106
106107 self .layout ["progress" ]["pbar" ].update (
107108 Panel (self .overall_progress , title = "Overall Progress" , border_style = "blue" )
108109 )
110+ self .time_display = Text ("Time Spent So Far: 0s" , justify = "center" )
111+ self .layout ["progress" ]["time" ].update (
112+ Panel (self .time_display , title = "$$$$" , border_style = "blue" )
113+ )
109114 self .money_display = Text ("Money Spent So Far: $0.00" , justify = "center" )
110115 self .layout ["progress" ]["money" ].update (
111116 Panel (self .money_display , title = "$$$$" , border_style = "blue" )
@@ -190,6 +195,24 @@ def update_agent_display(
190195 Panel (text , title = title , border_style = "blue" )
191196 )
192197
198+ def update_time_display (self , time_in_seconds : int ) -> None :
199+ """Update the time display with the given time."""
200+ days , remainder = divmod (time_in_seconds , 86400 )
201+ hours , remainder = divmod (remainder , 3600 )
202+ minutes , seconds = divmod (remainder , 60 )
203+ if days > 0 :
204+ time_str = f"{ days } d { hours :02d} h { minutes :02d} m { seconds :02d} s"
205+ elif hours > 0 :
206+ time_str = f"{ hours :02d} h { minutes :02d} m { seconds :02d} s"
207+ elif minutes > 0 :
208+ time_str = f"{ minutes :02d} m { seconds :02d} s"
209+ else :
210+ time_str = f"{ seconds :02d} s"
211+ self .time_display = Text (f"Time Spent So Far: { time_str } " , justify = "center" )
212+ self .layout ["progress" ]["time" ].update (
213+ Panel (self .time_display , title = "Time" , border_style = "blue" )
214+ )
215+
193216 def update_backend_display (self , backend : str ) -> None :
194217 """Update the backend display with the given backend."""
195218 self .backend_display = Text (f"Backend Using: { backend } " , justify = "center" )
0 commit comments