more pytermtk stuff added

This commit is contained in:
0x01FE committed 2025-01-17 14:46:58 -06:00
1 parent c0986f8d2d
commit cb01fa2aee
3 files changed
+145 -101

No files matched your search

+66 -33
View File
@@ -4,50 +4,83 @@ import SubSonic
u = 'pseudo'
p = 'telegram9dock-MICHEL'
conn = SubSonic.SubpyConn(u, p, "https://music.0x01fe.net")
echidna_id = "937004317800a879f0cddd471fb82387"
class SubPlayer:
conn: SubSonic.SubpyConn
artists = conn.getArtists()
selected_artist = None
artists: list[SubSonic.Artist]
root = ttk.TTk(layout=ttk.TTkHBoxLayout())
selected_artist: SubSonic.Artist
selected_album: SubSonic.Album
# window = ttk.TTkWindow(parent=root, pos=(1, 1), size=(100, 30), title="Testing", border=True)
def __init__(self, conn: SubSonic.SubpyConn):
self.conn = conn
# 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)
def run(self) -> None:
self.artists = conn.getArtists()
self.root = ttk.TTk(layout=ttk.TTkHBoxLayout())
artistList = ttk.TTkList(
name="Artists",
parent=root,
items=[artist.name for artist in artists]
)
self.artistList = ttk.TTkList(
name="Artists",
parent=self.root,
items=[artist.name for artist in self.artists]
)
albumList = ttk.TTkList(
name="ArtistAlbums",
parent=root
)
self.albumList = ttk.TTkList(
name="ArtistAlbums",
parent=self.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)])
self.songList = ttk.TTkList(
name="AlbumSongs",
parent=self.root
)
artistList.itemClicked.connect(clickArtist)
self.artistList.itemClicked.connect(self.clickArtist)
self.albumList.itemClicked.connect(self.clickAlbum)
root.mainloop()
self.root.mainloop()
def _clearSongs(self) -> None:
self.songList.removeItems(self.songList.items())
def _clearAlbums(self) -> None:
self.albumList.removeItems(self.albumList.items())
@ttk.pyTTkSlot(ttk.TTkWidgets.listwidget.TTkAbstractListItem)
def clickArtist(self, v: ttk.TTkWidgets.listwidget.TTkAbstractListItem):
# ttk.TTkLog.debug('test')
# print(v.text())
artist_name = v.text()
for artist in self.artists:
if artist.name == artist_name:
self.selected_artist = artist
self._clearAlbums()
self._clearSongs()
albums = conn.getArtistAlbums(self.selected_artist.id)
self.albumList.addItems([album.name for album in albums])
@ttk.pyTTkSlot(ttk.TTkWidgets.listwidget.TTkAbstractListItem)
def clickAlbum(self, v: ttk.TTkWidgets.listwidget.TTkAbstractListItem):
album_name = v.text()
albums = conn.getArtistAlbums(self.selected_artist.id)
for album in albums:
if album.title == album_name:
self.selected_album = album
# print('b')
self._clearSongs()
self.songList.addItems([song.title for song in conn.getAlbumSongs(self.selected_album.id)])
conn = SubSonic.SubpyConn(u, p, "https://music.0x01fe.net")
player = SubPlayer(conn)
player.run()