通过 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