Files
get_rp/get_rp.py
T
sulzlep 1e06410d77 Working text and album_art.
Now needs some refactoring and cleaning
2023-12-27 17:32:53 +01:00

78 lines
2.1 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"]
# 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])
rp_image_path = get_rp()[1]
rp_image_file = requests.get(rp_image_path).content
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")
rp_image.close()
img = PhotoImage(file="album_art.gif", format='gif')
image_lbl.configure(image=img)
image_lbl.image=img
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]
rp_image_file = requests.get(rp_image_path).content
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")
rp_image.close()
img = PhotoImage(file="album_art.gif", format='gif')
image_lbl = Label(window, image=img)
image_lbl.pack()
window.mainloop()