async def _update_track_metadata(self, track: Track, force_refresh: bool = False) -> None:
"""Get/update rich metadata for a track."""
- self.logger.debug("Updating metadata for Track %s", track.name)
unique_keys: set[str] = set()
# collect metadata from all (online) music/metadata providers
# NOTE: we only allow this every REFRESH_INTERVAL and a max amount of calls per day
and ((time() - (track.metadata.last_refresh or 0)) > REFRESH_INTERVAL)
and (track.mbid or track.artists or track.album)
):
+ self.logger.debug("Updating metadata for Track %s", track.name)
self._online_slots_available -= 1
# set timestamp, used to determine when this function was last called
track.metadata.last_refresh = int(time())
async def handle_async_init(self) -> None:
"""Handle async initialization of the provider."""
+ # set-up fullykiosk logging
+ if self.logger.isEnabledFor(VERBOSE_LOG_LEVEL):
+ logging.getLogger("fullykiosk").setLevel(logging.DEBUG)
+ else:
+ logging.getLogger("fullykiosk").setLevel(self.logger.level + 10)
self._fully = FullyKiosk(
self.mass.http_session,
self.config.get_value(CONF_IP_ADDRESS),
except Exception as err:
msg = f"Unable to start the FullyKiosk connection ({err!s}"
raise SetupFailedError(msg) from err
- # set-up fullykiosk logging
- if self.logger.isEnabledFor(VERBOSE_LOG_LEVEL):
- logging.getLogger("fullykiosk").setLevel(logging.DEBUG)
- else:
- logging.getLogger("fullykiosk").setLevel(self.logger.level + 10)
async def loaded_in_mass(self) -> None:
"""Call after the provider has been loaded."""
for album_artist in album.artists:
# make sure to include the version in the album name
album_name = f"{album.name} {album.version}" if album.version else album.name
- result = await self._get_data("searchalbum.php?", s=album_artist.name, a=album)
+ result = await self._get_data("searchalbum.php?", s=album_artist.name, a=album_name)
if result and result.get("album"):
for item in result["album"]:
# some safety checks
for prov in self._providers.values():
if not prov.manifest.mdns_discovery:
continue
+ if not prov.available:
+ continue
if service_type in prov.manifest.mdns_discovery:
self.create_task(process_mdns_state_change(prov))