¿Es alguna forma de importar / exportar la lista de estaciones de radio de Rhythmbox?
Si no, ¿podría sugerirme algún buen reproductor de música que tenga una funcionalidad similar como Rhythmbox?
¡Gracias!
¿Es alguna forma de importar / exportar la lista de estaciones de radio de Rhythmbox?
Si no, ¿podría sugerirme algún buen reproductor de música que tenga una funcionalidad similar como Rhythmbox?
¡Gracias!
Respuestas:
rhythmbox almacena información sobre todos los archivos de música en ~ / .local / share / rhythmbox / rhythmdb.xml
Las entradas relativas a las estaciones de radio comienzan con "tipo de entrada iradio".
Aquí hay un script de Python para hacer lo mismo, es decir, extraer nombres y ubicaciones de estaciones de radio de Internet de la base de datos XML utilizada por Rhythmbox:
import xml.sax.handler
import xml.sax
import pprint
class RhythmboxPlaylistHandler(xml.sax.handler.ContentHandler):
def __init__(self):
self.inRTitle = False
self.inRLocation = False
self.entrytype = "undefined"
self.titlebuffer = ""
self.locationbuffer = ""
self.radiostations = {}
def startElement(self, name, attributes):
if name == "entry":
self.entrytype = attributes["type"] # we're interested in type="iradio"
elif name == "title" and self.entrytype == "iradio":
self.inRTitle = True
elif name == "location" and self.entrytype == "iradio":
self.inRLocation = True
def characters(self, data):
if self.inRTitle:
self.titlebuffer += data
elif self.inRLocation:
self.locationbuffer += data
def endElement(self, name):
if name == "title":
self.inRTitle = False
elif name == "location":
self.inRLocation = False
elif name == "entry" and self.entrytype == "iradio":
self.radiostations[self.titlebuffer] = self.locationbuffer
self.titlebuffer=""
self.locationbuffer=""
parser = xml.sax.make_parser( )
handler = RhythmboxPlaylistHandler( )
parser.setContentHandler(handler)
parser.parse("work_copy_of_rhythmdb.xml")
pprint.pprint(handler.radiostations)
rstations=handler.radiostations
rskeys=[key for key in rstations]
rskeys.sort()
ofile=open("rhytmbox_current_internet_radiostations.txt","w")
ofile.write("# {0:41} --> {1}\r\n".format('radio station name','location'))
ofile.write("#"+120*'-'+"\r\n")
for key in rskeys:
ofile.write("{0:45} --> {1}\r\n".format(key,rstations[key]))
ofile.close()
(Comencé con este tutorial sobre cómo trabajar con bases de datos XML desde python: http://oreilly.com/catalog/pythonxml/chapter/ch01.html )
Puede usar xmlstarlet para extraer los datos esenciales de su archivo XML. Ver aquí para más detalles:
http://steffen67.blogspot.com/2011/05/how-to-export-rhythmbox-radio-stations.html
para exportar, lea el archivo ~/.local/share/rhythmbox/rhythmdb.xml
si desea importar Cree una lista de reproducción de archivos M3U como:
#EXTM3U
#EXTINF:-1,Quran - Eman City Quran & Islam Talk
http://206.72.199.180:9990/;stream.nsv
#EXTINF:-1,Quran - Radio Quraan
http://66.45.232.131:9994/;stream.nsv
#EXTINF:-1,Quran - Allahu Akbar Radio
http://66.45.232.1ls32:10196/;stream.nsv
#EXTINF:-1,Quran - izlam
http://66.45.232.133:9998/;stream.nsv
#EXTINF:-1,Quran - tafsir Al Sheikh Mohammad Ratib Al Nabulsi & Sheikh Muhammad Mitwalli Al Sharawi
http://206.72.199.179:9992/;stream.nsv
#EXTINF:-1,Quran - radioislamico
http://66.45.232.134:9996/;stream.nsv
y abrirlo con rhythmbox