59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
import time
|
|
import json
|
|
import configparser
|
|
|
|
import SubSonic
|
|
import ListenBrainz
|
|
import MusicDatabase
|
|
|
|
import scrobble
|
|
|
|
def main():
|
|
config = configparser.ConfigParser()
|
|
config.read("config.ini")
|
|
|
|
conn = SubSonic.SubpyConn(
|
|
config.get("Navidrome", "user"),
|
|
config.get("Navidrome", "pass"),
|
|
config.get("Navidrome", "url")
|
|
)
|
|
|
|
now_playing = conn.getNowPlaying()
|
|
|
|
with open('navidrome-request.json', 'w') as file:
|
|
file.write(json.dumps(now_playing))
|
|
|
|
# print(json.dumps(now_playing, indent=4))
|
|
|
|
|
|
track_id = now_playing['nowPlaying']['entry'][0]['id']
|
|
track_mbid = now_playing['nowPlaying']['entry'][0]['musicBrainzId']
|
|
track_name = now_playing['nowPlaying']['entry'][0]['title']
|
|
album_id = now_playing['nowPlaying']['entry'][0]['albumId']
|
|
|
|
album_info = conn.getAlbum(album_id)
|
|
album_mbid = album_info['album']['musicBrainzId']
|
|
album_name = album_info['album']['name']
|
|
|
|
# print(json.dumps(album_info, indent=4))
|
|
artist_id = now_playing['nowPlaying']['entry'][0]['artistId']
|
|
|
|
artist_info = conn.getArtist(artist_id, raw_json=True)
|
|
artist_mbid = artist_info['artist']['musicBrainzId']
|
|
artist_name = artist_info['artist']['name']
|
|
|
|
# print(json.dumps(artist_info, indent=4))
|
|
|
|
print(f'{track_name=} {album_name=} {artist_name=}')
|
|
|
|
dummy_scrobble = ListenBrainz.ListenBrainzScrobble(artist_name, album_name, track_name)
|
|
|
|
listenBrainz_match = scrobble.get_mbid(dummy_scrobble)
|
|
print(listenBrainz_match)
|
|
print(album_mbid)
|
|
assert album_mbid == listenBrainz_match[1]
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|