def force_check_updates(auto=False, over=False): import time if not over: logging.log_notify( CONFIG.ADDONTITLE, '[COLOR {0}]Force Checking for Updates[/COLOR]'.format( CONFIG.COLOR2)) dbfile = latest_db('Addons') dbfile = os.path.join(CONFIG.DATABASE, dbfile) sqldb = database.connect(dbfile) sqlexe = sqldb.cursor() # force rollback all installed repos sqlexe.execute("UPDATE repo SET version = ?, checksum = ?, lastcheck = ?", ( '', '', '', )) sqldb.commit() # trigger kodi to check them for updates xbmc.executebuiltin('UpdateAddonRepos') # wait until they have finished updating with tools.busy_dialog(): installed_repos = sqlexe.execute('SELECT addonID FROM repo') start_time = time.time() checked_time = 0 for repo in installed_repos.fetchall(): repo = repo[0] while checked_time < start_time: logging.log( 'Making sure {0} was checked successfully.'.format(repo), level=xbmc.LOGDEBUG) lastcheck = sqlexe.execute( 'SELECT lastcheck FROM repo WHERE addonID = ?', (repo, )) if lastcheck: checked_time = lastcheck.fetchone()[0] if checked_time: checked_time = time.mktime( time.strptime(checked_time, '%Y-%m-%d %H:%M:%S')) xbmc.sleep(1000) checked_time = 0 logging.log('{0} successfully force checked.'.format(repo), level=xbmc.LOGDEBUG) sqlexe.close() if auto: xbmc.executebuiltin('UpdateLocalAddons')
def force_check_updates(auto=False, over=False): import time if not over: logging.log_notify( CONFIG.ADDONTITLE, '[COLOR {0}]Forzar la Comprobacion de Actualizaciones[/COLOR]'. format(CONFIG.COLOR2)) dbfile = latest_db('Addons') dbfile = os.path.join(CONFIG.DATABASE, dbfile) sqldb = database.connect(dbfile) sqlexe = sqldb.cursor() # force rollback all installed repos sqlexe.execute("UPDATE repo SET version = ?, checksum = ?, lastcheck = ?", ( '', '', '', )) sqldb.commit() # trigger kodi to check them for updates xbmc.executebuiltin('UpdateAddonRepos') # wait until they have finished updating with tools.busy_dialog(): installed_repos = sqlexe.execute('SELECT addonID FROM repo') start_time = time.time() checked_time = 0 for repo in installed_repos.fetchall(): repo = repo[0] logging.log('Comprobacion forzada {0}...'.format(repo), level=xbmc.LOGDEBUG) while checked_time < start_time: if time.time() >= start_time + 20: logging.log( '{0} se agoto el tiempo durante la verificacion forzada del repo.' .format(repo), level=xbmc.LOGDEBUG) break lastcheck = sqlexe.execute( 'SELECT lastcheck FROM repo WHERE addonID = ?', (repo, )) if lastcheck: checked_time = lastcheck.fetchone()[0] checked_time = time.mktime( time.strptime( checked_time, '%Y-%m-%d %H:%M:%S')) if checked_time else 0 xbmc.sleep(1000) checked_time = 0 logging.log('{0} fuerza comprobada con exito.'.format(repo), level=xbmc.LOGDEBUG) logging.log_notify( '[COLOR {0}]{1}[/COLOR]'.format(CONFIG.COLOR1, CONFIG.ADDONTITLE), "[COLOR {0}]{1} fuerza comprobada con exito.[/COLOR]".format( CONFIG.COLOR2, repo)) sqlexe.close() if auto: xbmc.executebuiltin('UpdateLocalAddons')