क्या यह रिदमबॉक्स की रेडियो स्टेशन सूची को आयात / निर्यात करने का कोई तरीका है?
यदि नहीं, तो क्या आप मुझे कोई अच्छा म्यूजिक प्लेयर सुझा सकते हैं जिसमें रिदमबॉक्स जैसी कार्यक्षमता हो?
धन्यवाद!
क्या यह रिदमबॉक्स की रेडियो स्टेशन सूची को आयात / निर्यात करने का कोई तरीका है?
यदि नहीं, तो क्या आप मुझे कोई अच्छा म्यूजिक प्लेयर सुझा सकते हैं जिसमें रिदमबॉक्स जैसी कार्यक्षमता हो?
धन्यवाद!
जवाबों:
रिदमबॉक्स ~ / .local / शेयर / रिदमबॉक्स / rhythmdb.xml में सभी संगीत-फाइलों के बारे में जानकारी संग्रहीत करता है
रेडियोस्टेशंस से संबंधित प्रविष्टियाँ "एंट्री टाइप आईरेडियो" से शुरू होती हैं।
यहाँ एक पायथन लिपि समान कार्य करने के लिए है, अर्थात एक्सट्रीम डेटा बेस से रिदमबॉक्स द्वारा उपयोग किए गए इंटरनेट रेडियो स्टेशनों के नाम और स्थान निकालें:
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()
(मैंने अजगर के भीतर से XML डेटा बेस के साथ काम करने पर इस ट्यूटोरियल की शुरुआत की: http://oreilly.com/catalog/pythonxml/chapter/ch01.html )
आप अपनी XML फ़ाइल से आवश्यक डेटा खींचने के लिए xmlstarlet का उपयोग कर सकते हैं। विवरण के लिए यहां देखें:
http://steffen67.blogspot.com/2011/05/how-to-export-rhythmbox-radio-stations.html
~/.local/share/rhythmbox/rhythmdb.xml
यदि आप आयात करना चाहते हैं तो फ़ाइल को निर्यात करने के लिए एक M3U फ़ाइल प्लेलिस्ट बनाएं जैसे कि:
#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
और इसे रिदमबॉक्स के साथ खोलें