Импорт радиостанций RadioTray в Rhythmbox

Апплет значков RadioTray довольно аккуратный и поставляется с множеством предопределенных радиостанций, упорядоченных по категориям. К тому же я добавил несколько дополнительных местных (израильских) радиостанций и в итоге получил несколько десятков.

При подготовке к появлению Precise и необходимости иметь одного игрока для всех, я хотел бы перенести этот список в Rhythmbox.

Единственное, что я до сих пор выяснил, это то, что радиостанции Radio Tray хранятся в файле XML по адресу @ HOME / .local / share / radiotray / bookmarks.xml .

Есть идеи, как импортировать станции RadioTray в Rhythmbox?

2
задан 30 January 2014 в 04:39

2 ответа

enter image description here

Изображение показывает радиостанции RadioTray по умолчанию, импортированные в Rhythmbox

Как я делал это?

RadioTray содержит свои радиостанции в XML-файле, расположенном в:

~/.local/share/radiotray/bookmarks.xml

Rhythmbox содержит все свои данные так же в XML-файле, расположенном в:

~/.local/share/rhythmbox/rhythmdb.xml

Если Вы исследуете оба файла ее довольно очевидное, что формат XML (его определенная структура) очень отличается.

Одно решение состоит в том, чтобы преобразовать формат Radiotray XML к чему-то, что может понять Rhythmbox.

XSLT

Можно использовать структурированный язык перевода XML XSLT для выполнения этого преобразования.

Устанавливать:

sudo apt-get install python-4suite-xml

Затем скопируйте содержание ниже в новое gedit файл

Сохраните в файле (создайте папку xml при необходимости) названный ~/xml/style

Затем, скопируйте XML-файл RadioTray в ту же папку ~/xml

Наконец, скопируйте XML-файл Rhythmbox в ту же папку ~/xml

Спад до терминала:

cd ~/xml
4xslt bookmarks.xml style > test.xml

Это переформатирует RadioTray в XML, который может быть считан RhythmBox

Затем мы должны добавить эти новые данные к Rhythmbox.

Теперь откройте обоих test.xml и rhythmdb.xml

Скопируйте содержание test.xml ЗА ИСКЛЮЧЕНИЕМ первой строки в rhythmdb.xml файл. Отметьте - Вы вставляете содержание в конце файла т.е.

</entry>

*****paste test.xml here*****

</rhythmdb>

Сохранить.

Скопируйте старое rhythmdb.xml файл и затем копирует по новому rhythmdb.xml файл.

Разожгите Rhythmbox

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

      <xsl:for-each select="bookmarks/group/group/bookmark">
      <entry type="iradio">
        <title><xsl:value-of select="@name"/></title>
        <genre><xsl:value-of select="translate(../@name,'','')"/></genre>
        <artist></artist>
        <album></album>
    <location><xsl:value-of select="@url"/></location>
        <date>0</date>
        <media-type>application/octet-stream</media-type>
      </entry>
      </xsl:for-each>

</xsl:template>
</xsl:stylesheet>
4
ответ дан 30 January 2014 в 04:39

Ну, это возможно. Но это не будет быстрым и веселым процессом.

Вы захотите открыть bookmarks.xml с любой программой, которую вы хотите (я лично использовал бы gedit), а также открыть Rhythmbox. Открыв Rhythmbox, вам нужно будет щелкнуть правой кнопкой мыши «Радио» на левой панели и «Новая интернет-радиостанция». Вы захотите скопировать и вставить URL-адрес каждой радиостанции, которую вы хотите вставить в Rhythmbox. Затем вы можете переименовать их, как хотите.

Вы должны будете сделать это для каждого из URL. Это не займет много времени, но это утомительно. : (

0
ответ дан 30 January 2014 в 04:39

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

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