def check_for_addon_update(): """ Perform checks for addon updates and notify user of any available updates :return: None :rtype: None """ if not g.get_bool_setting("general.checkAddonUpdates"): return if "-" in g.VERSION: g.set_setting("addon.updateCheckTimeStamp", g.UNICODE(time.time())) return update_timestamp = g.get_float_setting("addon.updateCheckTimeStamp") if time.time() > (update_timestamp + (24 * (60 * 60))): repo_xml = requests.get( "https://github.com/nixgates/nixgates/raw/master/packages/addons.xml" ) if not repo_xml.status_code == 200: g.log( "Could not connect to repo XML, status: {}".format( repo_xml.status_code), "error", ) return try: xml = tools.ElementTree.fromstring(repo_xml.text) for dir_tag in xml.iterfind( "./addon[@id='repository.nixgates']/extension/dir"): minversion = dir_tag.get('minversion') maxversion = dir_tag.get('maxversion') if ((minversion is None and maxversion is None) or (minversion and maxversion and tools.compare_version_numbers( minversion, g.KODI_FULL_VERSION, include_same=True) and tools.compare_version_numbers( g.KODI_FULL_VERSION, maxversion, include_same=True)) or (maxversion is None and minversion and tools.compare_version_numbers( minversion, g.KODI_FULL_VERSION, include_same=True)) or (minversion is None and maxversion and tools.compare_version_numbers( g.KODI_FULL_VERSION, maxversion, include_same=True))): repo_version = _get_latest_repo_version( dir_tag.find('info').text) if tools.compare_version_numbers(g.CLEAN_VERSION, repo_version): xbmcgui.Dialog().ok( g.ADDON_NAME, g.get_language_string(30199).format(repo_version)) except tools.ElementTree.ParseError as pe: g.log("Could not parse repo XML", "error") finally: g.set_setting("addon.updateCheckTimeStamp", str(time.time()))
def _still_watching_calc(): calculation = float(g.PLAYLIST.getposition() + 1) / g.get_float_setting( "stillwatching.numepisodes" ) if calculation == 0: return False return calculation.is_integer()
def _load_settings(self): self.client_id = g.get_setting( "trakt.clientid", "0c9a30819e4af6ffaf3b954cbeae9b54499088513863c03c02911de00ac2de79", ) self.client_secret = g.get_setting( "trakt.secret", "bf02417f27b514cee6a8d135f2ddc261a15eecfb6ed6289c36239826dcdd1842", ) self.access_token = g.get_setting("trakt.auth") self.refresh_token = g.get_setting("trakt.refresh") self.token_expires = g.get_float_setting("trakt.expires") self.default_limit = g.get_int_setting("item.limit") self.username = g.get_setting(self.username_setting_key)
def update_provider_packages(): """ Perform checks for provider package updates :return: None :rtype: None """ provider_check_stamp = g.get_float_setting("provider.updateCheckTimeStamp", 0) automatic = g.get_bool_setting("providers.autoupdates") if time.time() > (provider_check_stamp + (24 * (60 * 60))): available_updates = ProviderInstallManager().check_for_updates( silent=True, automatic=automatic) if not automatic and len(available_updates) > 0: g.notification(g.ADDON_NAME, g.get_language_string(30278)) g.set_setting("provider.updateCheckTimeStamp", str(time.time()))
def __init__(self): self.client_id = g.get_setting("rd.client_id") if not self.client_id: self.client_id = "GPA2MB33HLS3I" self.oauth_url = "https://api.real-debrid.com/oauth/v2/" self.device_code_url = "device/code?{}" self.device_credentials_url = "device/credentials?{}" self.token_url = "token" self.token = g.get_setting(RD_AUTH_KEY) self.session.headers.update( {"Authorization": "Bearer {}".format(self.token)}) self.refresh = g.get_setting(RD_REFRESH_KEY) self.expiry = g.get_float_setting(RD_EXPIRY_KEY) self.device_code = "" self.client_secret = g.get_setting(RD_SECRET_KEY) self.oauth_timeout = 0 self.oauth_time_step = 0 self.base_url = "https://api.real-debrid.com/rest/1.0/" self.cache_check_results = {} self.progress_dialog = xbmcgui.DialogProgress()
def check_for_addon_update(): """ Perform checks for addon updates and notify uesr of any available updates :return: None :rtype: None """ if not g.get_bool_setting("general.checkAddonUpdates"): return local_verison = g.VERSION if "-" in local_verison: g.set_setting("addon.updateCheckTimeStamp", str(time.time())) return update_timestamp = g.get_float_setting("addon.updateCheckTimeStamp") if time.time() > (update_timestamp + (24 * (60 * 60))): repo_xml = requests.get( "https://raw.githubusercontent.com/nixgates/nixgates/master/packages/addons.xml" ) if not repo_xml.status_code == 200: g.log( "Could not connect to repo XML, status: {}".format( repo_xml.status_code), "error", ) return repo_version = re.findall( r"<addon id=\"plugin.video.seren\" version=\"(\d*.\d*.\d*)\"", repo_xml.text)[0] if tools.compare_version_numbers(local_verison, repo_version): xbmcgui.Dialog().ok( g.ADDON_NAME, g.get_language_string(30199).format(repo_version)) g.set_setting("addon.updateCheckTimeStamp", str(time.time()))
def _load_settings(self): self.apiKey = g.get_setting("tvdb.apikey", "43VPI0R8323FB7TI") self.jwToken = g.get_setting("tvdb.jw") self.tokenExpires = g.get_float_setting("tvdb.expiry")
def _load_settings(self): self.client_id = g.get_setting("rd.client_id", RD_AUTH_CLIENT_ID) self.token = g.get_setting(RD_AUTH_KEY) self.refresh = g.get_setting(RD_REFRESH_KEY) self.expiry = g.get_float_setting(RD_EXPIRY_KEY) self.client_secret = g.get_setting(RD_SECRET_KEY)