Có cách nào để nhập / xuất danh sách Đài phát thanh của Rhybeatbox không?
Nếu không, bạn có thể vui lòng gợi ý cho tôi bất kỳ trình phát nhạc hay nào có chức năng tương tự như Rhybeatbox không?
Cảm ơn bạn!
Có cách nào để nhập / xuất danh sách Đài phát thanh của Rhybeatbox không?
Nếu không, bạn có thể vui lòng gợi ý cho tôi bất kỳ trình phát nhạc hay nào có chức năng tương tự như Rhybeatbox không?
Cảm ơn bạn!
Câu trả lời:
nhịp điệu lưu trữ thông tin về tất cả các tệp nhạc trong ~ / .local / share / nhịpbox / nhịpdb.xml
Các mục liên quan đến phóng xạ bắt đầu bằng "iradio loại nhập cảnh".
đây là một kịch bản python để làm điều tương tự, tức là trích xuất tên và vị trí của các đài phát thanh internet từ cơ sở dữ liệu xml được sử dụng bởi Rhybeatbox:
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()
(Tôi đã bắt đầu với hướng dẫn này để làm việc với các cơ sở dữ liệu XML từ bên trong python: http://oreilly.com/catalog/pythonxml/ch CHƯƠNG / ch01.html )
Bạn có thể sử dụng xmlstarlet để lấy dữ liệu cần thiết ra khỏi tệp XML của mình. Xem tại đây để biết chi tiết:
http://steffen67.blogspot.com/2011/05/how-to-export-rardibox-radio-stations.html
cho xuất khẩu đọc các tập tin ~/.local/share/rhythmbox/rhythmdb.xml
nếu bạn muốn nhập Tạo một tập tin playlist M3U như:
#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
và mở nó bằng nhịp điệu