@@ -114,20 +114,36 @@ def get_status_attr(coordinator_data: any) -> dict[str, str]:
114114 break
115115
116116 attrs ["play_count" ] = title_stats .play_count
117- attrs ["play_duration" ] = convert_time (duration = title_stats .play_duration )
117+
118+ formatted_duration , hours_duration = convert_time (
119+ duration = title_stats .play_duration
120+ )
121+ attrs ["play_duration" ] = formatted_duration
122+ attrs ["play_duration_hours" ] = hours_duration
118123
119124 return attrs
120125
121126
122- def convert_time (duration : datetime ) -> str :
127+ def convert_time (duration : datetime ) -> tuple [ str , str ] :
123128 minutes , seconds = divmod (duration .seconds , 60 )
124129 hours , minutes = divmod (minutes , 60 )
130+
131+ """Calculate total hours including days"""
132+ total_hours = duration .days * 24 + hours
133+ total_minutes = minutes
134+
135+ """Original formatted string"""
125136 if duration .days > 1 :
126- return f"{ duration .days } Days { hours } h"
137+ formatted_time = f"{ duration .days } Days { hours } h"
127138 elif duration .days == 1 :
128- return f"{ duration .days } Day { hours } h"
139+ formatted_time = f"{ duration .days } Day { hours } h"
129140 else :
130- return f"{ hours } h { minutes } m"
141+ formatted_time = f"{ hours } h { minutes } m"
142+
143+ """Hours format with minutes"""
144+ hours_format = f"{ total_hours } h { total_minutes } min"
145+
146+ return formatted_time , hours_format
131147
132148
133149def get_trophy_attr (coordinator_data : any ) -> dict [str , str ]:
0 commit comments