通过 XML 将自定义脚本中的文本添加到 Kodi 主页
Adding text from custom script to Kodi Home page via XML
我猜这对于知道自己在做什么的人来说相当容易。不幸的是,我没有,尽管我很想在接下来的三天里用谷歌搜索我 4 岁的孩子收到很多圣诞节新礼物的东西,我真的应该和他一起玩,这样也许有人可以帮助我。
我想将我的外部 IP 地址和地理位置添加到 Kodi 主页。
我复制了默认皮肤并找到了用于生成主页的 Home.xml 文件。我已经添加了一个标签,但我不知道如何让这个标签显示脚本的结果。
例如,我有一个 bash getmyip.sh 脚本,它位于 /storage/downloads/ 并运行下面的简单代码。
curl -s http://whatismijnip.nl |cut -d " " -f 5
这给了我我的外部 IP。
我已将标签添加到 home.xml 文件,如下所示。这是别人写的,给了我我的内部 IP。
问题是如何通过 运行 我的脚本(或其他方法)修改它以在连接到我的 VPN 时获取我的外部 IP 和地理位置?非常感谢收到任何建议。我真的什么都不知道 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>
您必须将您的 getmyip.sh 调整为以下代码:
#!/bin/sh
python getmyexternalip.py
然后创建名为 getmyexternalip.py 的 python 文件并添加以下代码:
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 以在此控件上拥有一个 ID:
<control type="label" id="32000">
请注意,id 必须与 xbmcgui.Window(10000).getControl 函数中的参数相同。
python 脚本中 window 的 ID 10000 是 Home.xml
的默认 Window ID
我猜这对于知道自己在做什么的人来说相当容易。不幸的是,我没有,尽管我很想在接下来的三天里用谷歌搜索我 4 岁的孩子收到很多圣诞节新礼物的东西,我真的应该和他一起玩,这样也许有人可以帮助我。
我想将我的外部 IP 地址和地理位置添加到 Kodi 主页。
我复制了默认皮肤并找到了用于生成主页的 Home.xml 文件。我已经添加了一个标签,但我不知道如何让这个标签显示脚本的结果。
例如,我有一个 bash getmyip.sh 脚本,它位于 /storage/downloads/ 并运行下面的简单代码。
curl -s http://whatismijnip.nl |cut -d " " -f 5
这给了我我的外部 IP。
我已将标签添加到 home.xml 文件,如下所示。这是别人写的,给了我我的内部 IP。
问题是如何通过 运行 我的脚本(或其他方法)修改它以在连接到我的 VPN 时获取我的外部 IP 和地理位置?非常感谢收到任何建议。我真的什么都不知道 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>
您必须将您的 getmyip.sh 调整为以下代码:
#!/bin/sh
python getmyexternalip.py
然后创建名为 getmyexternalip.py 的 python 文件并添加以下代码:
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 以在此控件上拥有一个 ID:
<control type="label" id="32000">
请注意,id 必须与 xbmcgui.Window(10000).getControl 函数中的参数相同。
python 脚本中 window 的 ID 10000 是 Home.xml
的默认 Window ID