21 lines
857 B
Python
21 lines
857 B
Python
|
# Copyright 2024 (c) Anna Schumaker.
|
||
|
"""Convert a db.track.Track to a liblistenbrainz.Listen."""
|
||
|
import liblistenbrainz
|
||
|
from .. import db
|
||
|
from .. import gsetup
|
||
|
|
||
|
|
||
|
class Listen(liblistenbrainz.Listen):
|
||
|
"""A single ListenBrainz Listen."""
|
||
|
|
||
|
def __init__(self, track: db.tracks.Track):
|
||
|
"""Initialize our Listen class."""
|
||
|
album = track.get_medium().get_album()
|
||
|
artists = [a.mbid for a in track.get_artists() if len(a.mbid) > 0]
|
||
|
album_mbid = album.mbid if len(album.mbid) > 0 else None
|
||
|
super().__init__(track.title, track.artist, release_name=album.name,
|
||
|
artist_mbids=artists, release_group_mbid=album_mbid,
|
||
|
tracknumber=track.number,
|
||
|
additional_info={"media_player":
|
||
|
f"emmental{gsetup.DEBUG_STR}"})
|