Selaa lähdekoodia

[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 viikkoa sitten
vanhempi
commit
a7551ef162
1 muutettua tiedostoa jossa 4 lisäystä ja 1 poistoa
  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)