Browse Source

[music] Weird hack to get timezone for LFM scrobbles

Last.fm seems to send timestamps for scrobbles with a timezone of UTC
but the actual timezone is already localized. But that means we can't
extract the timezone we want, even though the timestamp is already in
the right timezone for storage.
Colin Powell 3 tuần trước cách đây
mục cha
commit
a7551ef162
1 tập tin đã thay đổi với 4 bổ sung1 xóa
  1. 4 1
      vrobbler/apps/scrobbles/importers/lastfm.py

+ 4 - 1
vrobbler/apps/scrobbles/importers/lastfm.py

@@ -50,6 +50,9 @@ class LastFM:
                 enrich=True,
             )
 
+            tz_timestamp = self.vrobbler_user.profile.get_timestamp_with_tz(
+                lfm_scrobble.get("timestamp")
+            )
             timestamp = lfm_scrobble.get("timestamp")
             stop_timestamp = timestamp + timedelta(
                 seconds=track.run_time_seconds
@@ -63,7 +66,7 @@ class LastFM:
                 played_to_completion=True,
                 in_progress=False,
                 media_type=Scrobble.MediaType.TRACK,
-                timezone=timestamp.tzinfo.name,
+                timezone=tz_timestamp.tzinfo.name,
             )
             # Vrobbler scrobbles on finish, LastFM scrobbles on start
             seconds_eariler = timestamp - timedelta(seconds=20)