Compare commits
10
Commits
7030dadb4a
...
c92be33c8f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c92be33c8f | ||
|
|
b522935ee9 | ||
|
|
47eb2e02f8 | ||
|
|
8a55fd9ffb | ||
|
|
360ea58a7c | ||
|
|
b82b95a911 | ||
|
|
19efe3984c | ||
|
|
45f0a3cfeb | ||
|
|
52ec8a20d9 | ||
|
|
5d2e682b51 |
Binary file not shown.
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 215 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 51 KiB |
+38
-17
@@ -9,14 +9,9 @@ import urllib
|
||||
|
||||
class RadioParadise(object):
|
||||
def __init__(self):
|
||||
self.title=None
|
||||
self.artist=None
|
||||
self.album=None
|
||||
self.year=None
|
||||
self.time=None
|
||||
self.jpg_path=None
|
||||
self.load_api()
|
||||
|
||||
def rp_reload_api(self):
|
||||
def load_api(self):
|
||||
respons=requests.get("https://api.radioparadise.com/api/now_playing")
|
||||
rp_dict=respons.json()
|
||||
self.title=rp_dict["title"]
|
||||
@@ -25,15 +20,16 @@ class RadioParadise(object):
|
||||
self.year=rp_dict["year"]
|
||||
self.time=rp_dict["time"]
|
||||
self.jpg_path=rp_dict["cover"]
|
||||
return rp_dict
|
||||
|
||||
class AlbumCover(RadioParadise):
|
||||
def __init__(self, path):
|
||||
self.jpg_path=path
|
||||
def get_fmt_list(self):
|
||||
result=(f'Titel: {self.title}\nArtiest: {self.artist}\nAlbum: {self.album}\nJaar: {self.year}\nTijd: {self.time}')
|
||||
return result
|
||||
|
||||
def store_albumcover(self):
|
||||
rp_raw_image=requests.get(self.jpg_path).content
|
||||
rp_file=open("album_art.jpg", "wb")
|
||||
rp_file.write("rp_raw_image")
|
||||
rp_file.write(rp_raw_image)
|
||||
rp_file.close()
|
||||
rp_convert_img=Image.open("album_art.jpg")
|
||||
rp_convert_img.save("album_art.gif")
|
||||
@@ -41,20 +37,45 @@ class AlbumCover(RadioParadise):
|
||||
|
||||
|
||||
class RPViewer(Tk):
|
||||
def __init__(self, *args, **kwargs):
|
||||
def __init__(self, radioparadise, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.rp=radioparadise
|
||||
self.title("Radio Paradise Viewer")
|
||||
self.geometry("500x740")
|
||||
self.resizable(False,False)
|
||||
self.label=Label(self, font="Arial, 14", text="Radio Paradise now playing:")
|
||||
self.label.pack()
|
||||
self.button_quit=Button(self, text="Quit", command=self.quit)
|
||||
self.button_refresh=Button(self, text="Refresh", command=lambda: [self.rp.load_api(),self.refresh_textbox()])
|
||||
self.button_quit.pack(side=BOTTOM)
|
||||
self.button_refresh.pack(side=TOP)
|
||||
self.font=Font(family="Arial", size=14)
|
||||
self.textbox=Text(self, height=6, width=50, font=self.font)
|
||||
self.textbox.insert("1.0", self.rp.get_fmt_list())
|
||||
self.textbox.config(state=DISABLED)
|
||||
self.textbox.pack()
|
||||
self.rp.store_albumcover()
|
||||
self.img = PhotoImage(file="album_art.gif", format='gif')
|
||||
self.image_lbl = Label(self, image=self.img)
|
||||
self.image_lbl.pack()
|
||||
|
||||
def quit(self):
|
||||
exit()
|
||||
|
||||
def refresh_textbox(self):
|
||||
self.textbox.config(state=NORMAL)
|
||||
self.textbox.delete("1.0", "end")
|
||||
self.textbox.insert("1.0", self.rp.get_fmt_list())
|
||||
self.textbox.config(state=DISABLED)
|
||||
self.rp.store_albumcover()
|
||||
self.img = PhotoImage(file="album_art.gif", format='gif')
|
||||
self.image_lbl.configure(image=self.img)
|
||||
self.image_lbl.image=self.img
|
||||
|
||||
|
||||
def main():
|
||||
rp_play=RadioParadise()
|
||||
rp_play.rp_reload_api()
|
||||
print (rp_play.title)
|
||||
print(rp_play.artist)
|
||||
print (rp_play.time)
|
||||
app=RPViewer()
|
||||
app=RPViewer(rp_play)
|
||||
app.mainloop()
|
||||
|
||||
if __name__=="__main__":
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/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()
|
||||
|
||||
# Refresh data from Radio Paradise when asked
|
||||
def rp_refresh():
|
||||
rp_tekstbox.delete("1.0", "end")
|
||||
rp_tekstbox.insert("1.0", get_rp()[0])
|
||||
|
||||
# Convert the jpg-file from RP to a manageable gif
|
||||
get_and_convert_art()
|
||||
|
||||
# Load the image into the label
|
||||
img = PhotoImage(file="album_art.gif", format='gif')
|
||||
image_lbl.configure(image=img)
|
||||
image_lbl.image=img
|
||||
|
||||
# Converts and stores a .jpg into a .gif
|
||||
def get_and_convert_art():
|
||||
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()
|
||||
|
||||
if __name__=="__main__":
|
||||
|
||||
window=Tk()
|
||||
window.title("Radio Paradise")
|
||||
|
||||
rp_font=Font(family="Arial", size=14)
|
||||
rp_tekstbox=Text(window, height=6, width=50, font=rp_font)
|
||||
|
||||
label=Label(window, font="Arial, 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()
|
||||
|
||||
get_and_convert_art()
|
||||
|
||||
img = PhotoImage(file="album_art.gif", format='gif')
|
||||
image_lbl = Label(window, image=img)
|
||||
image_lbl.pack()
|
||||
|
||||
window.mainloop()
|
||||
Reference in New Issue
Block a user