async def add_db_item(self, album: Album, db: Optional[Db] = None) -> Album:
"""Add a new album record to the database."""
- assert album.provider_ids, "Album is missing provider id(s)"
+ assert album.provider_ids, f"Album {album.name} is missing provider id(s)"
+ assert album.artist, f"Album {album.name} is missing artist"
cur_item = None
async with self.mass.database.get_db(db) as db:
# always try to grab existing item by musicbrainz_id
db: Optional[Db] = None,
) -> Album:
"""Update Album record in the database."""
+ assert album.provider_ids, f"Album {album.name} is missing provider id(s)"
+ assert album.artist, f"Album {album.name} is missing artist"
async with self.mass.database.get_db(db) as db:
cur_item = await self.get_db_item(item_id)
album_artist = await self._get_album_artist(album, cur_item, db=db)
return album
return ItemMapping.from_item(album)
- if db_artist := await self.mass.music.albums.get_db_item_by_prov_id(
+ if db_album := await self.mass.music.albums.get_db_item_by_prov_id(
album.item_id, provider=album.provider, db=db
):
- return ItemMapping.from_item(db_artist)
+ return ItemMapping.from_item(db_album)
- db_artist = await self.mass.music.albums.add_db_item(album, db=db)
- return ItemMapping.from_item(db_artist)
+ db_album = await self.mass.music.albums.add_db_item(album, db=db)
+ return ItemMapping.from_item(db_album)
async def _get_artist_mapping(
self, artist: Union[Artist, ItemMapping], db: Optional[Db] = None