Internetradio für VDR
Verfasst: Freitag 1. Februar 2008, 16:16
Hallo,
ich habe angefangen, die Internetradios, die bei Shoutcast gelistet sind, für einen VDR aufzubereiten. Ich habe keine Ahnung ob das Resultat für den VDR funktioniert. Darum geht es aber auch nicht.
Weil ich nur sehr gelegentlich scripte, bitte ich Euch einen Blick auf mein Script zu werfen. Es funktioniert so wie es soll. Aber ich denke das einiges optimiert werden könnte. Ich habe zu fast jedem Teil erst recherchieren müssen und weiß es teilweise nicht besser. Würde mich freuen wenn mir jemand Anstösse in die richtige Richtung geben kann.
Bitte seid hart und fair
ich habe angefangen, die Internetradios, die bei Shoutcast gelistet sind, für einen VDR aufzubereiten. Ich habe keine Ahnung ob das Resultat für den VDR funktioniert. Darum geht es aber auch nicht.
Weil ich nur sehr gelegentlich scripte, bitte ich Euch einen Blick auf mein Script zu werfen. Es funktioniert so wie es soll. Aber ich denke das einiges optimiert werden könnte. Ich habe zu fast jedem Teil erst recherchieren müssen und weiß es teilweise nicht besser. Würde mich freuen wenn mir jemand Anstösse in die richtige Richtung geben kann.
Bitte seid hart und fair
Code: Alles auswählen
#/usr/bin/python
# -*- coding: ISO-8859-1 -*-
# Importiere benoetigte Module
import urllib, os, sys, string, re, shutil as sh
# Genreverzeichnisse loeschen und neu anlegen
gdirs = ['Rock', 'Pop', 'Electronic', '80s', 'Oldies', 'Jazz', 'Country', 'Alle']
for i in gdirs:
try:
sh.rmtree(i)
except:
pass
try:
os.makedirs(i)
except:
pass
# Top500 von shoutcast abholen
website = urllib.urlopen('http://www.shoutcast.com/sbin/newxml.phtml?genre=Top500')
liste = website.readlines()
website.close()
# Senderinformationen in Variablen schreiben
for zeile in liste:
positionen = []
if zeile[1:13] == 'station name':
zaehler = 0
for zeichen in zeile:
if zeichen == '"':
r = positionen.append(zaehler)
zaehler = zaehler + 1
pos1 = positionen[0] + 1
pos2 = positionen[1]
pos3 = positionen[2] + 1
pos4 = positionen[3]
pos5 = positionen[4] + 1
pos6 = positionen[5]
pos7 = positionen[6] + 1
pos8 = positionen[7]
pos9 = positionen[8] + 1
pos10 = positionen[9]
pos11 = positionen[10] + 1
pos12 = positionen[11]
pos13 = positionen[12] + 1
pos14 = positionen[13]
# Variablen mit den Feldern aus jeder Zeile
sendername = zeile[pos1:pos2]
media = zeile[pos3:pos4]
shoutcastid = zeile[pos5:pos6]
bitrate = zeile[pos7:pos8]
genre = zeile[pos9:pos10]
ctitle = zeile[pos11:pos12]
listeners = zeile[pos13:pos14]
# Sendernamen glaetten
sendername = sendername.replace('.', '')
sendername = sendername.replace('#', '')
sendername = sendername.replace('&', '')
sendername = sendername.replace('!', '')
sendername = sendername.replace(';', '')
sendername = sendername.replace('(', '')
sendername = sendername.replace(')', '')
sendername = sendername.replace(':', '')
sendername = sendername.replace('[', '')
sendername = sendername.replace(']', '')
sendername = sendername.replace('{', '')
sendername = sendername.replace('}', '')
sendername = sendername.replace('/', '')
sendername = sendername.replace('+', '')
sendername = sendername.replace('\'', '')
sendername = sendername.replace('?', '')
# Dateinamen erzeugen
dateiname = sendername + '.pls'
# Genre bestimmen um in ein Verzeichnis einsortieren zu können
genre = string.lower(genre)
kw_rock = ['rock', 'metal', 'punk', 'alternative']
kw_pop = ['pop', 'top40']
kw_electronic = ['techno', 'trance', 'house', 'dance', 'ambient', 'space']
kw_80s = ['80', 'eighty', 'eighties']
kw_oldies = ['oldies']
kw_jazz = ['jazz']
kw_country = ['country', 'schlager']
kw_alle = ['']
for test in kw_rock:
if genre.find(test)!=-1:
eintrag = open('Rock\\' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()
for test in kw_pop:
if genre.find(test)!=-1:
eintrag = open('Pop\\' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()
for test in kw_electronic:
if genre.find(test)!=-1:
eintrag = open('Electronic\\' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()
for test in kw_80s:
if genre.find(test)!=-1:
eintrag = open('80s\/' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()
for test in kw_oldies:
if genre.find(test)!=-1:
eintrag = open('Oldies\\' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()
for test in kw_jazz:
if genre.find(test)!=-1:
eintrag = open('Jazz\\' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()
for test in kw_country:
if genre.find(test)!=-1:
eintrag = open('Country\\' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()
else:
eintrag = open('Alle\\' + dateiname, 'w')
eintrag.write('http://www.shoutcast.com/sbin/tunein-station.pls?id=' + shoutcastid)
eintrag.close()