diff --git a/SubSonic.py b/SubSonic.py index 5a876c7..c00bfcc 100644 --- a/SubSonic.py +++ b/SubSonic.py @@ -2,7 +2,7 @@ import random import string import hashlib import urllib.parse -import time +# import time import xml.etree import xml.etree.ElementTree @@ -10,11 +10,11 @@ import xml.etree.ElementTree import requests # import libsonic # import simpleaudio -import pyaudio +# import pyaudio -u = 'pseudo' -p = 'telegram9dock-MICHEL' +# u = 'pseudo' +# p = 'telegram9dock-MICHEL' class Artist: id: str @@ -250,7 +250,7 @@ class SubpyConn: if item.tag == '{http://subsonic.org/restapi}song': return Song(dict(item.items())) -conn = SubpyConn(u, p, "https://music.0x01fe.net") +# conn = SubpyConn(u, p, "https://music.0x01fe.net") diff --git a/main.py b/main.py index caf4166..9fd44d5 100644 --- a/main.py +++ b/main.py @@ -42,8 +42,8 @@ class SubPyPlayer: urwid.MainLoop(top, palette=[("reversed", "standout", "")]).run() # Currently Blocking - def play_song(song_id: str): - r = conn.stream(song_id) + def play_song(self, song_id: str): + r = self.conn.stream(song_id) # convert stream to bytes io thing audio_data = io.BytesIO(r.content) @@ -89,5 +89,7 @@ class SubPyPlayer: def exit_program(self, button: urwid.Button) -> None: raise urwid.ExitMainLoop() -SubPyPlayer(conn) +player = SubPyPlayer(conn) + +# player.play_song(echidna_id) diff --git a/test-termtk.py b/test-termtk.py new file mode 100644 index 0000000..e7b76db --- /dev/null +++ b/test-termtk.py @@ -0,0 +1,53 @@ +import TermTk as ttk + +import SubSonic + +u = 'pseudo' +p = 'telegram9dock-MICHEL' +conn = SubSonic.SubpyConn(u, p, "https://music.0x01fe.net") + +echidna_id = "937004317800a879f0cddd471fb82387" + + +artists = conn.getArtists() +selected_artist = None + +root = ttk.TTk(layout=ttk.TTkHBoxLayout()) + +# window = ttk.TTkWindow(parent=root, pos=(1, 1), size=(100, 30), title="Testing", border=True) + +# ttk.TTkLabel(parent=window, pos=(5,2), text='hello world') +# artistMenu = ttk.TTkMenu(title="Artists", parent=root, border=True, size=(100, 30)) +# for artist in artists: +# newButton = ttk.TTkMenuButton(text=artist.name, parent=artistMenu) +# artistMenu.addMenuItem(newButton) + +artistList = ttk.TTkList( + name="Artists", + parent=root, + items=[artist.name for artist in artists] +) + +albumList = ttk.TTkList( + name="ArtistAlbums", + parent=root +) + +@ttk.pyTTkSlot(ttk.TTkWidgets.listwidget.TTkAbstractListItem) +def clickArtist(v: ttk.TTkWidgets.listwidget.TTkAbstractListItem): + # ttk.TTkLog.debug('test') + # print(v.text()) + + artist_name = v.text() + for artist in artists: + if artist.name == artist_name: + selected_artist = artist.id + + albumList.removeItems(albumList.items()) + albumList.addItems([album.name for album in conn.getArtistAlbums(selected_artist)]) + + +artistList.itemClicked.connect(clickArtist) + +root.mainloop() +