فهرست منبع

[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 هفته پیش
والد
کامیت
a7551ef162
1فایلهای تغییر یافته به همراه4 افزوده شده و 1 حذف شده
  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)