ソースを参照

[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)