Stap 6: Radiostations toe te voegen
Om het een beetje gemakkelijker maken, zullen wij Python parse een txt-bestand waarin wij onze radiostations. We scheidt u de namen van de URL door een "|" scheidingsteken. Hier zijn sommige voorbeeld stations die momenteel actief in 2016 zijn:
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
Ook vindt u veel meer op https://www.internet-radio.com
Als u wilt parseren van deze txt-bestand, voeg de volgende code in de functie hello_world() :
stations = [] stationURLs = [] stationOutput = '' for x in open('stations.txt','r'): a = x.split("|") stations.append(a[0]) stationURLs.append(a[1].strip())
dan na de instructie if-else:
position = mpcCommand(['mpc', '-f', '%position']) idx = position.split('[') position = idx[0].strip() if isInteger(position) == False: position = 0 x = 1 for station in stations: stationOutput += '<option value="' = str(x) + '" ' if x == int(position): stationOutput += 'selected="selected"' stationOutput += '>' + station + '</option>' x += 1
Deze code vult in principe 2 arrays met tekenreeksen. De stationOutput-variabele is het bouwen van HTML-code die we in de front-end gebruiken zullen. Ook als een station uitkomt, we zijn standpunt. Zullen we dit overeenkomen met onze dropdown, zodat wanneer u naar de voorkant navigeert, het station, dat is spelen op dit moment is standaard ingeschakeld.
Een andere instructie toe te voegen aan de if-else structuur. Het pakt de index van het selectiekader, die een geheel getal is.
elif request.form['submit'] == 'change': mpcCommand(['mpc', 'play', str(request.form['station'])])
Tot slot werken de instructie return.
return render_template('interface.html', name=name, stations=stationOutput.strip())
Ook zullen we voor zitten kundig voor bijwerken van onze playlist. Voeg deze code toe aan de instructie if-else.
elif request.form['submit'] == 'update playlist': mpcCommand(['mpc', 'clear']) for stationURL in stationURLs: mpcCommand(['mpc', 'add', stationURL])
In het sjabloonbestand, voeg de volgende code toe te voegen een selectievak waar we het radiostation, samen met een knop kunnen kiezen. |Safe naast de variabele toe te staan om in te voegen html toevoegen. Ook het toevoegen van de knop bijwerken. Zorg ervoor dat deze code binnen de form -tags toevoegen.
<select name='station'>{{ stations|safe }}</select> <input type="submit" name="submit" value="change" /> <br/> <input type="submit" name="submit" value="update playlist" />