def update_debrid(do, who): file = DEBRIDID[who]['file'] settings = DEBRIDID[who]['settings'] data = DEBRIDID[who]['data'] addonid = tools.get_addon_by_id(DEBRIDID[who]['plugin']) saved = DEBRIDID[who]['saved'] default = DEBRIDID[who]['default'] user = addonid.getSetting(default) suser = CONFIG.get_setting(saved) name = DEBRIDID[who]['name'] icon = DEBRIDID[who]['icon'] if do == 'update': if not user == '': try: root = ElementTree.Element(saved) for setting in data: debrid = ElementTree.SubElement(root, 'debrid') id = ElementTree.SubElement(debrid, 'id') id.text = setting value = ElementTree.SubElement(debrid, 'value') value.text = addonid.getSetting(setting) tree = ElementTree.ElementTree(root) tree.write(file) user = addonid.getSetting(default) CONFIG.set_setting(saved, user) logging.log('Debrid Info Saved for {0}'.format(name), level=xbmc.LOGNOTICE) except Exception as e: logging.log("[Debrid Info] Unable to Update {0} ({1})".format( who, str(e)), level=xbmc.LOGERROR) else: logging.log('Debrid Info Not Registered for {0}'.format(name)) elif do == 'restore': if os.path.exists(file): tree = ElementTree.parse(file) root = tree.getroot() try: for setting in root.findall('debrid'): id = setting.find('id').text value = setting.find('value').text addonid.setSetting(id, value) user = addonid.getSetting(default) CONFIG.set_setting(saved, user) logging.log('Debrid Info Restored for {0}'.format(name), level=xbmc.LOGNOTICE) except Exception as e: logging.log("[Debrid Info] Unable to Restore {0} ({1})".format( who, str(e)), level=xbmc.LOGERROR) else: logging.log('Debrid Info Not Found for {0}'.format(name)) elif do == 'clearaddon': logging.log('{0} SETTINGS: {1}'.format(name, settings)) if os.path.exists(settings): try: tree = ElementTree.parse(settings) root = tree.getroot() for setting in root.findall('setting'): if setting.attrib['id'] in data: logging.log('Removing Setting: {0}'.format( setting.attrib)) root.remove(setting) tree.write(settings) logging.log_notify( "[COLOR {0}]{1}[/COLOR]".format(CONFIG.COLOR1, name), '[COLOR {0}]Addon Data: Cleared![/COLOR]'.format( CONFIG.COLOR2), 2000, icon) except Exception as e: logging.log( "[Debrid Info] Unable to Clear Addon {0} ({1})".format( who, str(e)), level=xbmc.LOGERROR) xbmc.executebuiltin('Container.Refresh()')
def update_debrid(do, who): file = DEBRIDID[who]['file'] settings = DEBRIDID[who]['settings'] data = DEBRIDID[who]['data'] addonid = tools.get_addon_by_id(DEBRIDID[who]['plugin']) saved = DEBRIDID[who]['saved'] default = DEBRIDID[who]['default'] user = addonid.getSetting(default) suser = CONFIG.get_setting(saved) name = DEBRIDID[who]['name'] icon = DEBRIDID[who]['icon'] if do == 'update': if not user == '': try: root = ElementTree.Element(saved) for setting in data: debrid = ElementTree.SubElement(root, 'debrid') id = ElementTree.SubElement(debrid, 'id') id.text = setting value = ElementTree.SubElement(debrid, 'value') value.text = addonid.getSetting(setting) tree = ElementTree.ElementTree(root) tree.write(file) user = addonid.getSetting(default) CONFIG.set_setting(saved, user) logging.log('Info Debrid Guardada para {0}'.format(name), level=xbmc.LOGINFO) except Exception as e: logging.log( "[Info Debrid] No se puede Actualizar {0} ({1})".format( who, str(e)), level=xbmc.LOGERROR) else: logging.log('Info Debrid No registrado para {0}'.format(name)) elif do == 'restore': if os.path.exists(file): tree = ElementTree.parse(file) root = tree.getroot() try: for setting in root.findall('debrid'): id = setting.find('id').text value = setting.find('value').text addonid.setSetting(id, value) user = addonid.getSetting(default) CONFIG.set_setting(saved, user) logging.log('Info Debrid Restaurado para {0}'.format(name), level=xbmc.LOGINFO) except Exception as e: logging.log( "[Info Debrid] No se Puede Restaurar {0} ({1})".format( who, str(e)), level=xbmc.LOGERROR) else: logging.log('Info Debrid No Encontrado para {0}'.format(name)) elif do == 'clearaddon': logging.log('{0} AJUSTES: {1}'.format(name, settings)) if os.path.exists(settings): try: tree = ElementTree.parse(settings) root = tree.getroot() for setting in root.findall('setting'): if setting.attrib['id'] in data: logging.log('Eliminacion de Ajustes: {0}'.format( setting.attrib)) root.remove(setting) tree.write(settings) logging.log_notify( "[COLOR {0}]{1}[/COLOR]".format(CONFIG.COLOR1, name), '[COLOR {0}]Datos de Addons: Borrado![/COLOR]'.format( CONFIG.COLOR2), 2000, icon) except Exception as e: logging.log( "[Info Debrid] No se Puede Borrar el Addon {0} ({1})". format(who, str(e)), level=xbmc.LOGERROR) xbmc.executebuiltin('Container.Refresh()')