ensure we use the provider lookup key for loudness measurements
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 12 Sep 2024 08:44:57 +0000 (10:44 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 12 Sep 2024 08:44:57 +0000 (10:44 +0200)
music_assistant/server/controllers/music.py

index e96384119b1955d7df0b05fb9048c6370e2e415c..23fd7835f3d17330f992feba913969ae02cf73d7 100644 (file)
@@ -670,10 +670,12 @@ class MusicController(CoreController):
         media_type: MediaType = MediaType.TRACK,
     ) -> None:
         """Store (EBU-R128) Integrated Loudness Measurement for a mediaitem in db."""
+        if not (provider := self.mass.get_provider(provider_instance_id_or_domain)):
+            return
         values = {
             "item_id": item_id,
             "media_type": media_type.value,
-            "provider": provider_instance_id_or_domain,
+            "provider": provider.lookup_key,
             "loudness": loudness,
         }
         if album_loudness is not None:
@@ -687,12 +689,14 @@ class MusicController(CoreController):
         media_type: MediaType = MediaType.TRACK,
     ) -> tuple[float, float] | None:
         """Get (EBU-R128) Integrated Loudness Measurement for a mediaitem in db."""
+        if not (provider := self.mass.get_provider(provider_instance_id_or_domain)):
+            return None
         db_row = await self.database.get_row(
             DB_TABLE_LOUDNESS_MEASUREMENTS,
             {
                 "item_id": item_id,
                 "media_type": media_type.value,
-                "provider": provider_instance_id_or_domain,
+                "provider": provider.lookup_key,
             },
         )
         if db_row and db_row["loudness"] != inf and db_row["loudness"] != -inf: