Làm cách nào để nhập / xuất danh sách Radio Station của Rhybeatbox?


10

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!


1
Ý bạn là đài phát thanh?
Javier Gonzalez

Vâng, ý tôi là các đài phát thanh
Bakhtiyor

Câu trả lời:


7

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".


Vâng bạn đúng, tôi biết điều đó trước đây. Nhưng tôi đang tìm kiếm một cách dễ dàng hơn, nếu một trong những tồn tại.
Bakhtiyor

3

đâ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 )


2

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


rất hay chỉ vào hướng dẫn xmlstarlet cho việc này
Sabacon

1
Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Marco Ceppi

Xin lỗi vì điều đó. Tôi chỉ chỉnh sửa nó để bao gồm ý chính. (Cảm ơn vì liên kết. Tôi đã lo lắng rằng việc đăng lại thông tin khác sẽ sao chép dữ liệu web một cách không cần thiết.)
colan

0

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.