通过XML

时间:2016-12-29 16:02:03

标签: xml skin kodi

我猜这对于知道自己在做什么的人来说相当容易。不幸的是,我没有和我愿意在接下来的三天里用谷歌搜索我4岁的孩子在圣诞节时得到了很多新礼物,我真的应该和他一起玩,所以也许有人可以帮助我。

我想将我的外部IP地址和地理位置添加到Kodi主页。

我已经获取了默认外观的副本,并找到了用于生成主页的Home.xml文件。我添加了一个标签,但我不知道如何让这个标签显示脚本的结果。

例如,我有一个位于/ storage / downloads /的bash getmyip.sh脚本,并运行下面的简单代码。

curl -s http://whatismijnip.nl | cut -d“” - f 5

这给了我外部IP。

我在home.xml文件中添加了一个标签,如下所示。这是由其他人写的,并给了我我的内部IP。

问题是我如何通过运行我的脚本(或其他方法)来修改它,以便在连接到我的VPN时获得外部IP和Geo位置?任何建议都感激不尽。我真的不知道任何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 个答案:

答案 0 :(得分:0)

您必须将您的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脚本中的ID 10000是Home.xml的默认窗口ID