示例#1
0
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()')
示例#2
0
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()')