2025-06-09 14:16:57 -05:00

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()