65 lines
1.8 KiB
Python
Executable File
65 lines
1.8 KiB
Python
Executable File
#!/bin/python3
|
|
|
|
from tkinter import *
|
|
from tkinter.font import Font
|
|
import requests
|
|
import urllib
|
|
from PIL import Image
|
|
|
|
def get_rp():
|
|
# Get API respons
|
|
respons = requests.get("https://api.radioparadise.com/api/now_playing")
|
|
tekst = respons.json()
|
|
|
|
# Selection of data to use
|
|
title = tekst["title"]
|
|
artist = tekst["artist"]
|
|
album = tekst["album"]
|
|
year = tekst["year"]
|
|
time = tekst["time"]
|
|
jpg_path = tekst["cover_med"]
|
|
|
|
# Return caller standard information
|
|
message = (f'Titel: {title}\nArtiest: {artist}\nAlbum: {album}\nJaar: {year}\nTijd: {time}')
|
|
return message,jpg_path
|
|
|
|
def rp_quit():
|
|
exit()
|
|
|
|
def rp_refresh():
|
|
rp_tekstbox.delete("1.0", "end")
|
|
rp_tekstbox.insert("1.0", get_rp()[0])
|
|
|
|
if __name__=="__main__":
|
|
|
|
window=Tk()
|
|
rp_font=Font(family="Courier", size=14)
|
|
rp_tekstbox=Text(window, height=6, width=50, font=rp_font)
|
|
|
|
label=Label(window, font="Courier, 14", text="Radio Paradise now playing")
|
|
label.pack()
|
|
|
|
button_quit=Button(window, text="Quit", command=rp_quit)
|
|
button_refresh=Button(window, text="Refresh", command=rp_refresh)
|
|
button_quit.pack(side=BOTTOM)
|
|
button_refresh.pack(side=TOP)
|
|
|
|
rp_tekstbox.insert("1.0", get_rp()[0])
|
|
rp_tekstbox.pack()
|
|
|
|
rp_image_path = get_rp()[1]
|
|
# print(rp_image_path) ## DEBUG werkt!
|
|
rp_image_file = requests.get(rp_image_path).content
|
|
# print(rp_image_file) ## DEBUG werkt!
|
|
|
|
rp_file=open("album_art.jpg", 'wb')
|
|
rp_file.write(rp_image_file)
|
|
rp_file.close()
|
|
rp_image = Image.open("album_art.jpg")
|
|
rp_image.save("album_art.gif")
|
|
|
|
img = PhotoImage(file='album_art.gif', format='gif')
|
|
image_lbl = Label(window, image=img)
|
|
image_lbl.pack()
|
|
|
|
window.mainloop() |