Explorar o código

[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 hai 3 semanas
pai
achega
a7551ef162
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  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)