रिदमबॉक्स की रेडियो स्टेशन सूची आयात / निर्यात कैसे करें?


10

क्या यह रिदमबॉक्स की रेडियो स्टेशन सूची को आयात / निर्यात करने का कोई तरीका है?

यदि नहीं, तो क्या आप मुझे कोई अच्छा म्यूजिक प्लेयर सुझा सकते हैं जिसमें रिदमबॉक्स जैसी कार्यक्षमता हो?

धन्यवाद!


1
आपका मतलब रेडियो स्टेशन है?
जेवियर गोंजालेज

हां, मेरा मतलब है कि रेडियो स्टेशन
बख्तियार

जवाबों:


7

रिदमबॉक्स ~ / .local / शेयर / रिदमबॉक्स / rhythmdb.xml में सभी संगीत-फाइलों के बारे में जानकारी संग्रहीत करता है

रेडियोस्टेशंस से संबंधित प्रविष्टियाँ "एंट्री टाइप आईरेडियो" से शुरू होती हैं।


हाँ, आप सही हैं, मुझे पता था कि पहले। लेकिन मैं कुछ आसान रास्ते की तलाश कर रहा हूं, अगर कोई मौजूद है।
बख्तियार

3

यहाँ एक पायथन लिपि समान कार्य करने के लिए है, अर्थात एक्सट्रीम डेटा बेस से रिदमबॉक्स द्वारा उपयोग किए गए इंटरनेट रेडियो स्टेशनों के नाम और स्थान निकालें:

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 )


2

आप अपनी XML फ़ाइल से आवश्यक डेटा खींचने के लिए xmlstarlet का उपयोग कर सकते हैं। विवरण के लिए यहां देखें:

http://steffen67.blogspot.com/2011/05/how-to-export-rhythmbox-radio-stations.html


इसके लिए xmlstarlet ट्यूटोरियल की ओर इशारा करते हुए अच्छा है
सबकोन

1
जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
मार्को Ceppi

उसके लिए माफ़ करना। मैंने मुख्य विचार को शामिल करने के लिए इसे संपादित किया। (लिंक के लिए धन्यवाद। मुझे चिंता थी कि अन्य जानकारी को
रीपोस्ट

0

~/.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

और इसे रिदमबॉक्स के साथ खोलें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.