Skip to content

Commit 84c19d7

Browse files
authored
Merge pull request #30 from nichtlegacy:patch-1
Update sensor.py
2 parents 089cdb5 + 857b410 commit 84c19d7

File tree

1 file changed

+21
-5
lines changed
  • custom_components/playstation_network

1 file changed

+21
-5
lines changed

custom_components/playstation_network/sensor.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

133149
def get_trophy_attr(coordinator_data: any) -> dict[str, str]:

0 commit comments

Comments
 (0)