Raspberry Pi internetradio med kolven (6 / 9 steg)
Steg 6: Lägga till radiostationer
För att göra det lite mer bekvämt, kommer att vi låta Python tolka en txt-fil där vi definierar våra radiostationer. Vi skilja namnen från URL av en ' |' avgränsare. Här är några exempel stationer aktiva 2016:
NPO Radio 1 NL | http://icecast.Omroep.nl/radio1-SB-MP3
Rainwave Chiptune | http://icecast.Omroep.nl/radio1-SB-MP3
Ibiza Global Radio | http://icecast.Omroep.nl/radio1-SB-MP3
No-Life Radio | http://icecast.Omroep.nl/radio1-SB-MP3
Smooth Jazz Florida | http://icecast.Omroep.nl/radio1-SB-MP3
FM Odawara | MMS://Simul.freebit.net/fmodawara
Du kan också hitta många fler på https://www.internet-radio.com
För att tolka denna txt fil, Lägg till följande kod i funktionen hello_world() :
stationer =]
stationURLs =]
stationOutput = ''
x i open('stations.txt','r'):
en = x.split("|")
stations.append(a[0])
stationURLs.append(a[1].strip())
sedan efter if-else-sats:
läge = mpcCommand (["mpc", "-f", "% ställning"])
IDX = position.split('[')
läge = idx[0].strip()
om isInteger(position) == False:
läge = 0
x = 1
för station i stationer:
stationOutput += "< alternativet värdet =" "= str(x) +" ""
om x == int(position):
stationOutput += "valda ="markerade""
stationOutput += ">" + station + "< / option >"
x += 1
Denna kod i princip fyller 2 matriser med strängar. Variabeln stationOutput är att bygga HTML-kod vi använder front-end. Dessutom, om en station spelar, vi få sin ståndpunkt. Vi kommer att göra detta motsvara våra dropdown, så när du navigerar till fronten, den station som spelas för tillfället är markerat som standard.
Lägg sedan till ett annat uttalande i if-else struktur. Det plockar index för rutan, som är ett heltal.
Elif request.form['submit'] == 'ändra':
mpcCommand (["mpc", "play", str(request.form['station'])])
Äntligen uppdatera programsatsen return.
återgå render_template ('interface.html ', namn = namn, stations=stationOutput.strip())
Vi måste också kunna uppdatera vår spellista. Lägga till denna kod till if-else-sats.
Elif request.form['submit'] == "uppdatera spellistan":
mpcCommand (["mpc", "rensa"])
för stationURL i stationURLs:
mpcCommand (['mpc', 'Lägg till', stationURL])
I mallfilen, lägga till följande kod för att lägga till ett urval ruta där vi kan välja radiostation, tillsammans med en knapp. Lägg till |fungera bredvid variabeln för att kunna infoga html. Också lägga till knappen Uppdatera. Se till att lägga till denna kod i formuläret taggarna.
< Välj namn = "station" > {{stations|safe}} < / Välj >
< input type = "Skicka" namn = "Skicka" värde = "ändra" / >
< br / >
< input type = "Skicka" namn = "Skicka" värde = "uppdatera spellistan" / >