Как импортировать / экспортировать список радиостанций Rhythmbox?

Можно ли каким-либо образом импортировать / экспортировать список радиостанций Rhythmbox?

Если нет, можете ли вы предложить мне какой-нибудь хороший музыкальный плеер, который имеет аналогичные функции, такие как Rhythmbox?

Спасибо!

10
задан 15 January 2011 в 15:54

44 ответа

для экспорта читать файл ~/.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

и открыть его с помощью rhythmbox

0
ответ дан 6 August 2018 в 04:08

rhythmbox хранит информацию обо всех музыкальных файлах в ~ / .local / share / rhythmbox / rhythmdb.xml

Записи, касающиеся радиостанций, начинаются с «типа ввода iradio».

7
ответ дан 6 August 2018 в 04:08
  • 1
    Да, ты прав, я знал это раньше. Но я ищу более простой способ, если он существует. – Bakhtiyor 15 January 2011 в 15:56

rhythmbox хранит информацию обо всех музыкальных файлах в ~ / .local / share / rhythmbox / rhythmdb.xml

Записи, касающиеся радиостанций, начинаются с «типа ввода iradio».

7
ответ дан 7 August 2018 в 22:07

для экспорта прочитайте файл ~ / .local / share / rhythmbox / rhythmdb.xml , если вы хотите импортировать Создать плейлист файла M3U как:

  # EXTM3U #EXTINF: -1, Quran - Eman City Quran & amp;  Ислам Обсуждение http://206.72.199.180:9990/;stream.nsv #EXTINF: -1, Quran - Radio Quraan http://66.45.232.131:9994/;stream.nsv #EXTINF: -1, Коран - Аллаху Акбар  Радио 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 & amp;  Шейх Мухаммад Митвалли Аль Шарави http://206.72.199.179:9992/;stream.nsv #EXTINF: -1, Quran - radioislamico http://66.45.232.134:9996/;stream.nsv  

и откройте его с помощью rhythmbox

0
ответ дан 7 August 2018 в 22:07

Вы можете использовать xmlstarlet, чтобы вытащить основные данные из вашего XML-файла. Подробнее см. Здесь:

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

2
ответ дан 7 August 2018 в 22:07

вот сценарий python для выполнения того же самого действия, т. е. извлечения имен и местоположений интернет-радиостанций из базы данных xml, используемой 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"] # нас интересует type = "iradio" elif name == "  title "и self.entrytype ==" iradio ": self.inRTitle = True elif name ==" location "и 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" an  d self.entrytype == "iradio": self.radiostations [self.titlebuffer] = self.locationbuffer self.titlebuffer = "" self.locationbuffer = "" parser = xml.sax.make_parser () обработчик = RhythmboxPlaylistHandler () parser.  setContentHandler (обработчик) parser.parse ("work_copy_of_rhythmdb.xml") pprint.pprint (handler.radiostations) rstations = handler.radiostations rskeys = [ключ для ключа в rstations] rskeys.sort () ofile = open ("rhytmbox_current_internet_radiostations.txt"  , "w") ofile.write ("# {0:41} - & gt;  {1} \r \n ".format ('название радиостанции', 'location')) ofile.write (" # "+ 120 * '-' +" \r \n ") для ключа в rskeys:.  write ("{0:45} - & gt; {1} \r \n" .format (key, rstations [key])) ofile.close ()  

(я начал с этим руководством по работе с базами данных XML изнутри python: http://oreilly.com/catalog/pythonxml/chapter/ch01.html )

3
ответ дан 7 August 2018 в 22:07

rhythmbox хранит информацию обо всех музыкальных файлах в ~ / .local / share / rhythmbox / rhythmdb.xml

Записи, касающиеся радиостанций, начинаются с «типа ввода iradio».

7
ответ дан 10 August 2018 в 10:21

для экспорта прочитайте файл ~ / .local / share / rhythmbox / rhythmdb.xml , если вы хотите импортировать Создать плейлист файла M3U как:

  # EXTM3U #EXTINF: -1, Quran - Eman City Quran & amp;  Ислам Обсуждение http://206.72.199.180:9990/;stream.nsv #EXTINF: -1, Quran - Radio Quraan http://66.45.232.131:9994/;stream.nsv #EXTINF: -1, Коран - Аллаху Акбар  Радио 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 & amp;  Шейх Мухаммад Митвалли Аль Шарави http://206.72.199.179:9992/;stream.nsv #EXTINF: -1, Quran - radioislamico http://66.45.232.134:9996/;stream.nsv  

и откройте его с помощью rhythmbox

0
ответ дан 10 August 2018 в 10:21

Вы можете использовать xmlstarlet, чтобы вытащить основные данные из вашего XML-файла. Подробнее см. Здесь:

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

2
ответ дан 10 August 2018 в 10:21

вот сценарий python для выполнения того же самого действия, т. е. извлечения имен и местоположений интернет-радиостанций из базы данных xml, используемой 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"] # нас интересует type = "iradio" elif name == "  title "и self.entrytype ==" iradio ": self.inRTitle = True elif name ==" location "и 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" an  d self.entrytype == "iradio": self.radiostations [self.titlebuffer] = self.locationbuffer self.titlebuffer = "" self.locationbuffer = "" parser = xml.sax.make_parser () обработчик = RhythmboxPlaylistHandler () parser.  setContentHandler (обработчик) parser.parse ("work_copy_of_rhythmdb.xml") pprint.pprint (handler.radiostations) rstations = handler.radiostations rskeys = [ключ для ключа в rstations] rskeys.sort () ofile = open ("rhytmbox_current_internet_radiostations.txt"  , "w") ofile.write ("# {0:41} - & gt;  {1} \r \n ".format ('название радиостанции', 'location')) ofile.write (" # "+ 120 * '-' +" \r \n ") для ключа в rskeys:.  write ("{0:45} - & gt; {1} \r \n" .format (key, rstations [key])) ofile.close ()  

(я начал с этим руководством по работе с базами данных XML изнутри python: http://oreilly.com/catalog/pythonxml/chapter/ch01.html )

3
ответ дан 10 August 2018 в 10:21

rhythmbox хранит информацию обо всех музыкальных файлах в ~ / .local / share / rhythmbox / rhythmdb.xml

Записи, касающиеся радиостанций, начинаются с «типа ввода iradio».

7
ответ дан 13 August 2018 в 16:46
  • 1
    Да, ты прав, я знал это раньше. Но я ищу более простой способ, если он существует. – Bakhtiyor 15 January 2011 в 15:56

для экспорта прочитайте файл ~ / .local / share / rhythmbox / rhythmdb.xml , если вы хотите импортировать Создать плейлист файла M3U как:

  # EXTM3U #EXTINF: -1, Quran - Eman City Quran & amp;  Ислам Обсуждение http://206.72.199.180:9990/;stream.nsv #EXTINF: -1, Quran - Radio Quraan http://66.45.232.131:9994/;stream.nsv #EXTINF: -1, Коран - Аллаху Акбар  Радио 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 & amp;  Шейх Мухаммад Митвалли Аль Шарави http://206.72.199.179:9992/;stream.nsv #EXTINF: -1, Quran - radioislamico http://66.45.232.134:9996/;stream.nsv  

и откройте его с помощью rhythmbox

0
ответ дан 13 August 2018 в 16:46

Вы можете использовать xmlstarlet, чтобы вытащить основные данные из вашего XML-файла. Подробнее см. Здесь:

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

2
ответ дан 13 August 2018 в 16:46
  • 1
    Хороший указатель на учебник xmlstarlet для этого – Sabacon 8 February 2012 в 06:16
  • 2
    Хотя это теоретически может ответить на вопрос , было бы предпочтительно включить здесь основные части ответа и предоставить ссылку для справки. – Marco Ceppi♦ 8 February 2012 в 06:39
  • 3
    Извини за это. Я только что отредактировал его, включив в него основную идею. (Спасибо за ссылку. Я был обеспокоен тем, что повторная публикация другой информации будет дублировать веб-данные без необходимости.) – colan 8 February 2012 в 10:55

вот сценарий python для выполнения того же самого действия, т. е. извлечения имен и местоположений интернет-радиостанций из базы данных xml, используемой 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"] # нас интересует type = "iradio" elif name == "  title "и self.entrytype ==" iradio ": self.inRTitle = True elif name ==" location "и 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" an  d self.entrytype == "iradio": self.radiostations [self.titlebuffer] = self.locationbuffer self.titlebuffer = "" self.locationbuffer = "" parser = xml.sax.make_parser () обработчик = RhythmboxPlaylistHandler () parser.  setContentHandler (обработчик) parser.parse ("work_copy_of_rhythmdb.xml") pprint.pprint (handler.radiostations) rstations = handler.radiostations rskeys = [ключ для ключа в rstations] rskeys.sort () ofile = open ("rhytmbox_current_internet_radiostations.txt"  , "w") ofile.write ("# {0:41} - & gt;  {1} \r \n ".format ('название радиостанции', 'location')) ofile.write (" # "+ 120 * '-' +" \r \n ") для ключа в rskeys:.  write ("{0:45} - & gt; {1} \r \n" .format (key, rstations [key])) ofile.close ()  

(я начал с этим руководством по работе с базами данных XML изнутри python: http://oreilly.com/catalog/pythonxml/chapter/ch01.html )

3
ответ дан 13 August 2018 в 16:46

Другие вопросы по тегам:

Похожие вопросы: