def _check_updates(): _time = int(time()) if _time < settings.getInt('_last_updates_check', 0) + UPDATES_CHECK_TIME: return settings.setInt('_last_updates_check', _time) new_md5 = session.get(ADDONS_MD5).text.split(' ')[0] if new_md5 == settings.get('addon_md5'): return settings.set('_addon_md5', new_md5) updates = [] slyguy_addons = session.gz_json(ADDONS_URL) slyguy_installed = [x['addonid'] for x in kodi_rpc('Addons.GetAddons', {'installed': True, 'enabled': True})['addons'] if x['addonid'] in slyguy_addons] for addon_id in slyguy_installed: addon = get_addon(addon_id, install=False) if not addon: continue cur_version = addon.getAddonInfo('version') new_version = slyguy_addons[addon_id]['version'] if LooseVersion(cur_version) < LooseVersion(new_version): updates.append([addon_id, cur_version, new_version]) if not updates: return log.debug('Updating repos due to {} addon updates'.format(len(updates))) xbmc.executebuiltin('UpdateAddonRepos')
def _check_news(): _time = int(time()) if _time < settings.getInt('_last_news_check', 0) + NEWS_CHECK_TIME: return settings.setInt('_last_news_check', _time) news = Session(timeout=15).gz_json(NEWS_URL) if not news: return if 'id' not in news or news['id'] == settings.get('_last_news_id'): return settings.set('_last_news_id', news['id']) settings.set('_news', json.dumps(news))
from .language import _ REMOVE_IN_HEADERS = ['upgrade', 'host', 'accept-encoding'] REMOVE_OUT_HEADERS = [ 'date', 'server', 'transfer-encoding', 'keep-alive', 'connection' ] DEFAULT_PORT = 52103 HOST = '127.0.0.1' PORT = check_port(DEFAULT_PORT) if not PORT: PORT = check_port() PROXY_PATH = 'http://{}:{}/'.format(HOST, PORT) settings.set('_proxy_path', PROXY_PATH) CODECS = [ ['avc', 'H.264'], ['hvc', 'H.265'], ['hev', 'H.265'], ['mp4v', 'MPEG-4'], ['mp4s', 'MPEG-4'], ['dvh', 'H.265 Dolby Vision'], ] CODEC_RANKING = ['MPEG-4', 'H.264', 'H.265', 'HDR', 'H.265 Dolby Vision'] ATTRIBUTELISTPATTERN = re.compile(r'''((?:[^,"']|"[^"]*"|'[^']*')+)''') PROXY_GLOBAL = { 'last_qualities': [],