2015-09-21 5 views
0

В основном у меня есть скрипт python, который является аддоном для Kodi. Я хотел бы создать своего рода каналы IPTV и обновления соответственно, но аддон не будет обновляться.Выполнить скрипт python в Интернете из другого сценария python

Я думал о методе, где у меня есть скрипт python, размещенный в Интернете, который включает в себя несколько каналов, подобных этому, и я вызываю этот скрипт из самого скрипта python аддона. Поэтому, когда я хочу добавить новые каналы, я только редактирую скрипт, размещенный в Интернете. Интернет-скрипт будет выглядеть примерно так:

url = 'link of channel' 
li = xbmcgui.ListItem('Name of channel', iconImage='DefaultVideo.png') 
xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li) 

Возможно ли это? Могу ли я вызвать этот скрипт, размещенный в Интернете, через другой локальный скрипт python, и поэтому он запускается внутри самого скрипта?

Благодаря

+0

Существует много фреймворков, которые позволят вам выполнять код при посещении URL-адреса или передан определенный вход: flask, django ... –

+0

Нет. Я не хочу выполнять какой-либо код при посещении URL-адреса. Все, что я хочу, - это запустить код, который сохраняется на веб-сайте, из другого локального сценария python. –

+0

Если у вас есть доступ к серверу, на котором размещен хостинг-скрипт, вы можете попробовать [Fabric] (http://www.fabfile.org/). –

ответ

0

Вы можете скачать скрипт:

from urllib2 import urlopen 
script = urlopen('url of your script') 

магазин где-то, где ваш плагин имеет доступ (то есть ресурсы/Lib внутри папки аддона):

import xbmcaddon 
addon = xbmcaddon.Addon() 
addonPath = addon.getAddonInfo('path') 
script_data = script.read() 
import xbmc 
import os 
script_file_path = os.path.join(xbmc.translatePath(addonPath), 'resources', 'lib', 'your_plugin.py') 
script_file = open(scrip_file_path, 'w') 
script_file.write(script_data) 
script_file.close() 

Затем импортировать , а затем вызовите некоторые функции, которые вам нужны.

from resources.lib.your_plugin import your_func 
your_func() 

Другой способ не пройдет сценарий себя на сервере, но список каналов, например, в формате JSON, а затем загрузить его из плагина.

+0

Ничего себе. Большое спасибо многому человеку! Да, желательно, чтобы я размещал список каналов где-то, а затем добавлял аддон для извлечения скрипта и разбирал список, однако пока не знаю, как это сделать. Спасибо за помощь до сих пор :) –

Смежные вопросы