Merge remote-tracking branch 'origin/master'

This commit is contained in:
marco
2019-11-25 18:03:22 +01:00
5 changed files with 85 additions and 49 deletions
+17 -1
View File
@@ -5679,4 +5679,20 @@ msgstr ""
msgctxt "#70740"
msgid "Your system does not have a web browser, so here's the short link you can open in another device:\n%s"
msgstr ""
msgstr ""
msgctxt "#707401"
msgid "Enable Check DNS"
msgstr ""
msgctxt "#707402"
msgid "Connection or DNS problems"
msgstr ""
msgctxt "#707403"
msgid "Reminder Activation"
msgstr ""
msgctxt "#707404"
msgid "By deactivating the DNS check, you have activated a reminder that it will appear at the top right."
msgstr ""
+17 -1
View File
@@ -5683,4 +5683,20 @@ msgstr "Apri nel browser"
msgctxt "#70740"
msgid "Your system does not have a web browser, so here's the short link you can open in another device:\n%s"
msgstr "Il tuo sistema non ha un browser, quindi ecco un link corto che puoi aprire in un altro dispositivo\n%s"
msgstr "Il tuo sistema non ha un browser, quindi ecco un link corto che puoi aprire in un altro dispositivo\n%s"
msgctxt "#707401"
msgid "Enable Check DNS"
msgstr "Abilita Check DNS"
msgctxt "#707402"
msgid "Connection or DNS problems"
msgstr "Problema di connessione o DNS"
msgctxt "#707403"
msgid "Reminder Activation"
msgstr "Attivazione Promemoria..."
msgctxt "#707404"
msgid "By deactivating the DNS check, you have activated a reminder that it will appear at the top right."
msgstr "Disattivando il check DNS, hai attivato un promemoria\nche apparirà in alto a dx"
+1
View File
@@ -4,6 +4,7 @@
<setting id="player_mode" type="enum" values="Direct|SetResolvedUrl|Built-In|Download and Play" label="30044" default="1"/>
<setting id="default_action" type="enum" lvalues="30006|30007|30008" label="30005" default="0"/>
<setting id="autoplay" type="bool" label="70562" default="false" visible="true"/>
<setting id="checkdns" type="bool" label="707401" default="true" visible="true"/>
<setting id="checklinks" type="bool" label="30020" default="false"/>
<setting id="checklinks_number" type="enum" values="5|10|15|20" label="30021" default="0" visible="eq(-1,true)"/>
<setting id="thumbnail_type" type="enum" lvalues="30011|30012|30200" label="30010" default="2"/>
+28 -31
View File
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
import xbmc, xbmcgui
import xbmcaddon
import json
@@ -12,13 +13,12 @@ addon = xbmcaddon.Addon()
addonname = addon.getAddonInfo('name')
addonid = addon.getAddonInfo('id')
LIST_SITE = ['https://www.google.com', 'https://www.google.it',
'http://www.ansa.it/']#, 'https://www.debian.org/']
LIST_SITE = ['https://www.google.com', 'https://www.google.it', 'http://www.ansa.it/']
# lista di siti che non verranno raggiunti con i DNS del gestore
LST_SITE_CHCK_DNS = ['https://www.italia-film.pw', 'https://casacinema.space',
'https://documentari-streaming-da.com']
LST_SITE_CHCK_DNS = ['https://casacinema.space', 'https://www.cb01.uno/']
#'https://www.italia-film.pw', 'https://documentari-streaming-da.com',] # tolti
class Kdicc():
@@ -34,18 +34,13 @@ class Kdicc():
self.view_msg = view_msg
self.lst_site_check_dns = lst_site_check_dns
self.urls = []
## self.in_addon = in_addon
## self.server_dns = xbmc.getInfoLabel('Network.DHCPAddress') # stringa vuota...
## self.gateway = xbmc.getInfoLabel('Network.GatewayAddress')
## self.subnet = xbmc.getInfoLabel('Network.SubnetMask')
def check_Ip(self):
"""
controllo l'ip
se ip_addr = 127.0.0.1 o ip_addr = '' allora il device non
e' connesso al modem/router
check the ip
if ip_addr = 127.0.0.1 or ip_addr = '' then the device does not
is connected to the modem/router
@@ -168,7 +163,7 @@ class Kdicc():
rslt['redirect'] = code.previous['-x-permanent-redirect-url']
rslt['status'] = code.status
else:
rslt['code'] = code.status
rslt['code'] = code.status
except httplib2.ServerNotFoundError as msg:
# sia per mancanza di ADSL che per i siti non esistenti
rslt['code'] = -2
@@ -192,18 +187,21 @@ class Kdicc():
else:
txt += '\nIP: %s' % self.ip_addr
## if self.in_addon == False and self.view_msg == True:
dialog = xbmcgui.Dialog()
dialog.textviewer(addonname, txt)
if config.get_setting('checkdns'):
risposta= dialog.yesno(addonname, txt, nolabel='Disattiva', yeslabel='Ricordami')
if risposta == False:
config.set_setting('checkdns', False)
dialog.textviewer(addonname+ ' '+config.get_localized_string(707403), config.get_localized_string(707404))
else:
txt = config.get_localized_string(707402)
dialog.notification(addonname, txt, xbmcgui.NOTIFICATION_INFO, 5000)
"""
def richiamato in launcher.py
"""
def test_conn(is_exit, check_dns, view_msg,
lst_urls, lst_site_check_dns, in_addon):
# debug
# import web_pdb; web_pdb.set_trace()
ktest = Kdicc(is_exit, check_dns, view_msg, lst_urls, lst_site_check_dns, in_addon)
# se non ha l'ip lo comunico all'utente
if not ktest.check_Ip():
@@ -214,7 +212,7 @@ def test_conn(is_exit, check_dns, view_msg,
ktest.view_Advise(config.get_localized_string(70720))
if ktest.is_exit == True:
exit()
# se non ha connessione ADSL lo comunico all'utente
# se non ha connessione ADSL lo comunico all'utente
elif not ktest.check_Adsl():
if view_msg == True:
ktest.view_Advise(config.get_localized_string(70721))
@@ -227,8 +225,8 @@ def test_conn(is_exit, check_dns, view_msg,
ktest.view_Advise(config.get_localized_string(70722))
xbmc.log("############ Inizio Check DNS ############", level=xbmc.LOGNOTICE)
xbmc.log("IP: %s" % (ktest.ip_addr), level=xbmc.LOGNOTICE)
xbmc.log("DNS: %s" % (ktest.dns), level=xbmc.LOGNOTICE)
xbmc.log("## IP: %s" % (ktest.ip_addr), level=xbmc.LOGNOTICE)
xbmc.log("## DNS: %s" % (ktest.dns), level=xbmc.LOGNOTICE)
xbmc.log("############ Fine Check DNS ############", level=xbmc.LOGNOTICE)
if ktest.check_Ip() and ktest.check_Adsl() and ktest.check_Dns():
return True
@@ -241,30 +239,28 @@ def check_channels(inutile=''):
leggo gli host dei canali dal file channels.json
li controllo
scrivo il file channels-test.json
con i codici di errore e i nuovi url in caso di redirect
con il codice di errore e il nuovio url in caso di redirect
gli url DEVONO avere http(s)
Durante il controllo degli url vengono rieffettuati
Durante il controllo degli urls vengono rieffettuati
i controlli di ip, asdl e dns.
Questo perchè può succedere che in un qualsiasi momento
la connessione p avere problemi.
Nel caso accada un problema, il controllo e relativa scrittura del file viene interrotto
con messaggio di avvertimento
"""
la connessione possa avere problemi. Nel caso accada, il controllo e
relativa scrittura del file viene interrotto con messaggio di avvertimento
"""
logger.info()
folderJson = xbmc.translatePath(xbmcaddon.Addon().getAddonInfo('path')).decode('utf-8')
fileJson = 'channels.json'
fileJson = 'channels.json'
with open(folderJson+'/'+fileJson) as f:
data = json.load(f)
risultato = {}
for chann, host in sorted(data.items()):
ris = []
# per avere un'idea della tempistica
# utile solo se si controllano tutti i canali
@@ -294,13 +290,14 @@ def check_channels(inutile=''):
risultato[chann] = host
logger.info("check #### FINE #### rslt :%s " % (rslt))
fileJson_test = 'channels-test.json'
# scrivo il file aggiornato
with open(folderJson+'/'+fileJson_test, 'w') as f:
data = json.dump(risultato, f, sort_keys=True, indent=4)
logger.info(data)
# per il futuro
# codice per l'invio del file su git!!!
# 1. Bottone OKNO richiesta se vuole inviare file
+22 -16
View File
@@ -64,26 +64,32 @@ def show_channels(item):
path = os.path.dirname(os.path.abspath(file_path))
if 'http' in path: path = path[path.find('http'):].replace('\\','/').replace(':/','://')
if file_path.startswith('http'): file_url = httptools.downloadpage(file_path, follow_redirects=True).data
else: file_url = open(file_path, "r").read()
elif os.path.isfile(file_path): file_url = open(file_path, "r").read()
else:
support.log('KEY=',key)
item.channel_id = key
remove_channel(item)
file_url=''
# load json
json_url = jsontools.load(file_url)
if file_url:
json_url = jsontools.load(file_url)
thumbnail = relative('thumbnail', json_url, path)
if not thumbnail: thumbnail = item.thumbnail
fanart = relative('fanart', json_url, path)
plot = json_url['plot'] if json_url.has_key('plot') else ''
thumbnail = relative('thumbnail', json_url, path)
if not thumbnail: thumbnail = item.thumbnail
fanart = relative('fanart', json_url, path)
plot = json_url['plot'] if json_url.has_key('plot') else ''
itemlist.append(Item(channel=item.channel,
title=typo(channel['channel_name'],'bold'),
url=file_path,
thumbnail=thumbnail,
fanart=fanart,
plot=plot,
action='show_menu',
channel_id = key,
context=context,
path=path))
itemlist.append(Item(channel=item.channel,
title=typo(channel['channel_name'],'bold'),
url=file_path,
thumbnail=thumbnail,
fanart=fanart,
plot=plot,
action='show_menu',
channel_id = key,
context=context,
path=path))
autoplay.show_option(item.channel, itemlist)
support.channel_config(item, itemlist)