Добавление текста из пользовательского скрипта на домашнюю страницу Kodi через XML
Я предполагаю, что это довольно легко для тех, кто знает, что они делают. К сожалению, я этого не делаю, и столько, сколько я хотел бы потратить на поиски вещей в течение следующих трех дней, мой 4-летний получил много новых подарков на Рождество, и я действительно должен поиграть с ним, так что, возможно, кто-то может мне помочь.
Я хочу добавить свой внешний IP-адрес и географическое местоположение на домашнюю страницу Kodi.
Я взял копию обложки по умолчанию и нашел файл Home.xml, который используется для создания домашней страницы. Я добавил метку, но не знаю, как получить эту метку для отображения результатов скрипта.
Например, у меня есть скрипт bash getmyip.sh, который находится в /storage/downloads/ и выполняет простой фрагмент кода ниже.
curl -s http://whatismijnip.nl/ |cut -d " " -f 5
Это дает мне мой внешний IP.
Я добавил метку в файл home.xml, как показано ниже. Это было написано кем-то другим и дает мне мой внутренний IP.
Вопрос в том, как я могу изменить его, запустив свой сценарий (или какой-нибудь другой метод), чтобы получить внешний IP-адрес и гео-местоположение при подключении к VPN? Любые предложения с благодарностью принимаются. Я просто не знаю XML.
Спасибо!
<control type="label">
<description>IP Address</description>
<left>200</left>
<top>5</top>
<height>49</height>
<width min="200" max="300">auto</width>
<label>IP: $INFO[Network.IPAddress]</label>
<align>left</align>
<aligny>center</aligny>
<font>font12</font>
<textcolor>white</textcolor>
<shadowcolor>black</shadowcolor>
</control>
1 ответ
Вы должны настроить ваш getmyip.sh на следующий код:
#!/bin/sh
python getmyexternalip.py
Затем создайте файл python с именем getmyexternalip.py и добавьте следующий код:
import subprocess
import xbmcgui
output = subprocess.check_output("curl -s http://whatismijnip.nl |cut -d ' ' -f 5", shell=True)
output = output.rstrip('\n')
xbmcgui.Window(10000).getControl(32000).setLabel("IP: " + str(output))
Также вы должны настроить XML, чтобы иметь идентификатор для этого элемента управления:
<control type="label" id="32000">
Обратите внимание, что идентификатор должен быть таким же, как в параметре в функции xbmcgui.Window(10000).getControl.
Идентификатор 10000 в скрипте python для окна является идентификатором окна по умолчанию для Home.xml.