def get_setting(name, channel="", server=""): """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global o en la configuracion propia del canal 'channel'. Si se especifica el nombre del canal busca en la ruta \addon_data\plugin.video.pelisalacarta\settings_channels el archivo channel_data.json y lee el valor del parametro 'name'. Si el archivo channel_data.json no existe busca en la carpeta channels el archivo channel.xml y crea un archivo channel_data.json antes de retornar el valor solicitado. Si el parametro 'name' no existe en channel_data.json lo busca en la configuracion global y si ahi tampoco existe devuelve un str vacio. Parametros: name -- nombre del parametro channel [opcional] -- nombre del canal Retorna: value -- El valor del parametro 'name' """ # Specific channel setting if channel: from core import channeltools return channeltools.get_channel_setting(name, channel) elif server: from core import servertools return servertools.get_server_setting(name, server) # Global setting else: # Devolvemos el valor del parametro global 'name' if name == "cache.dir": value = "" if name == "debug" or name == "download.enabled": value = False if name == "cookies.dir": value = os.getcwd() #TODO no parece funcionar if name == "cache.mode" or name == "thumbnail_type": value = 2 else: value = bridge.get_setting(name) # hack para devolver el tipo correspondiente settings_types = get_settings_types() if isinstance(settings_types.get(name), tuple) and settings_types[name][0] == 'enum': value = settings_types[name][1].index(value) elif settings_types.get(name) == 'bool': value = bool(value) return value
def get_setting(name, channel="", server=""): """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global o en la configuracion propia del canal 'channel'. Si se especifica el nombre del canal busca en la ruta \addon_data\plugin.video.pelisalacarta\settings_channels el archivo channel_data.json y lee el valor del parametro 'name'. Si el archivo channel_data.json no existe busca en la carpeta channels el archivo channel.xml y crea un archivo channel_data.json antes de retornar el valor solicitado. Si el parametro 'name' no existe en channel_data.json lo busca en la configuracion global y si ahi tampoco existe devuelve un str vacio. Parametros: name -- nombre del parametro channel [opcional] -- nombre del canal Retorna: value -- El valor del parametro 'name' """ # Specific channel setting if channel: # xbmc.log("config.get_setting reading channel setting '"+name+"' from channel xml") from core import channeltools value = channeltools.get_channel_setting(name, channel) # xbmc.log.info("config.get_setting -> '"+repr(value)+"'") return value elif server: # xbmc.log("config.get_setting reading server setting '"+name+"' from server xml") from core import servertools value = servertools.get_server_setting(name, server) # xbmc.log("config.get_setting -> '"+repr(value)+"'") return value # Global setting else: #xbmc.log("config.get_setting reading main setting '"+name+"'") import xbmcplugin value = xbmcplugin.getSetting(name) #xbmc.log("config.get_setting -> '"+value+"'") # hack para devolver el tipo correspondiente if value == "true": return True elif value == "false": return False else: try: value = int(value) except ValueError: pass return value
def get_setting(name, channel="", server=""): """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global o en la configuracion propia del canal 'channel'. Si se especifica el nombre del canal busca en la ruta \addon_data\plugin.video.pelisalacarta\settings_channels el archivo channel_data.json y lee el valor del parametro 'name'. Si el archivo channel_data.json no existe busca en la carpeta channels el archivo channel.xml y crea un archivo channel_data.json antes de retornar el valor solicitado. Si el parametro 'name' no existe en channel_data.json lo busca en la configuracion global y si ahi tampoco existe devuelve un str vacio. Parametros: name -- nombre del parametro channel [opcional] -- nombre del canal Retorna: value -- El valor del parametro 'name' """ # Specific channel setting if channel: # logger.info("config.get_setting reading channel setting '"+name+"' from channel xml") from core import channeltools value = channeltools.get_channel_setting(name, channel) # logger.info("config.get_setting -> '"+repr(value)+"'") return value elif server: # logger.info("config.get_setting reading server setting '"+name+"' from server xml") from core import servertools value = servertools.get_server_setting(name, server) # logger.info("config.get_setting -> '"+repr(value)+"'") return value # Global setting else: try: if name in overrides: dev = overrides[name] #print "Overrides: ",name,"=",dev #elif name=="debug": # return "true" else: dev=configfile.get("General",name) #print "Config file: ",name,"=",dev #print "get_setting",name,dev return dev except: #print "get_setting",name,"(vacío)" return ""
def get_setting(name, channel="", server="", default=None): """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global, en la configuracion propia del canal 'channel' o en la del servidor 'server'. Los parametros channel y server no deben usarse simultaneamente. Si se especifica el nombre del canal se devolvera el resultado de llamar a channeltools.get_channel_setting(name, channel, default). Si se especifica el nombre del servidor se devolvera el resultado de llamar a servertools.get_channel_setting(name, server, default). Si no se especifica ninguno de los anteriores se devolvera el valor del parametro en la configuracion global si existe o el valor default en caso contrario. @param name: nombre del parametro @type name: str @param channel: nombre del canal @type channel: str @param server: nombre del servidor @type server: str @param default: valor devuelto en caso de que no exista el parametro name @type default: cualquiera @return: El valor del parametro 'name' @rtype: El tipo del valor del parametro """ # Specific channel setting if channel: # logger.info("config.get_setting reading channel setting '"+name+"' from channel json") from core import channeltools value = channeltools.get_channel_setting(name, channel, default) # logger.info("config.get_setting -> '"+repr(value)+"'") return value # Specific server setting elif server: # logger.info("config.get_setting reading server setting '"+name+"' from server json") from core import servertools value = servertools.get_server_setting(name, server, default) # logger.info("config.get_setting -> '"+repr(value)+"'") return value # Global setting else: # logger.info("config.get_setting reading main setting '"+name+"'") value = __settings__.getSetting(name) if not value: return default # Translate Path if start with "special://" if value.startswith("special://") and "videolibrarypath" not in name: value = xbmc.translatePath(value) # hack para devolver el tipo correspondiente settings_types = get_settings_types() if settings_types.get(name) in ['enum', 'number']: try: value = int(value) except Exception, ex: from core import logger logger.error( "Error al convertir '%s' de tipo 'enum','number' \n%s" % (name, ex)) elif settings_types.get(name) == 'bool': value = value == 'true'
def get_setting(name, channel="", server="", default=None): """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global, en la configuracion propia del canal 'channel' o en la del servidor 'server'. Los parametros channel y server no deben usarse simultaneamente. Si se especifica el nombre del canal se devolvera el resultado de llamar a channeltools.get_channel_setting(name, channel, default). Si se especifica el nombre del servidor se devolvera el resultado de llamar a servertools.get_channel_setting(name, server, default). Si no se especifica ninguno de los anteriores se devolvera el valor del parametro en la configuracion global si existe o el valor default en caso contrario. @param name: nombre del parametro @type name: str @param channel: nombre del canal @type channel: str @param server: nombre del servidor @type server: str @param default: valor devuelto en caso de que no exista el parametro name @type default: any @return: El valor del parametro 'name' @rtype: any """ # Specific channel setting if channel: # logger.info("config.get_setting reading channel setting '"+name+"' from channel json") from core import channeltools value = channeltools.get_channel_setting(name, channel, default) # logger.info("config.get_setting -> '"+repr(value)+"'") return value elif server: # logger.info("config.get_setting reading server setting '"+name+"' from server json") from core import servertools value = servertools.get_server_setting(name, server, default) # logger.info("config.get_setting -> '"+repr(value)+"'") return value # Global setting else: # logger.info("config.get_setting reading main setting '"+name+"'") global settings_dic value = settings_dic.get(name, default) if value == default: return value # logger.info("config.get_setting -> '"+value+"'") # hack para devolver el tipo correspondiente if value == "true": return True elif value == "false": return False else: # special case return as str if name in ["adult_password", "adult_aux_intro_password", "adult_aux_new_password1", "adult_aux_new_password2"]: return value else: try: value = int(value) except ValueError: pass return value
def get_setting(name, channel="", server=""): """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global o en la configuracion propia del canal 'channel'. Si se especifica el nombre del canal busca en la ruta \addon_data\plugin.video.streamondemand\settings_channels el archivo channel_data.json y lee el valor del parametro 'name'. Si el archivo channel_data.json no existe busca en la carpeta channels el archivo channel.xml y crea un archivo channel_data.json antes de retornar el valor solicitado. Si el parametro 'name' no existe en channel_data.json lo busca en la configuracion global y si ahi tampoco existe devuelve un str vacio. Parametros: name -- nombre del parametro channel [opcional] -- nombre del canal Retorna: value -- El valor del parametro 'name' """ # Specific channel setting if channel: # logger.info("config.get_setting reading channel setting '"+name+"' from channel xml") from core import channeltools value = channeltools.get_channel_setting(name, channel) # logger.info("config.get_setting -> '"+repr(value)+"'") return value elif server: # logger.info("config.get_setting reading server setting '"+name+"' from server xml") from core import servertools value = servertools.get_server_setting(name, server) # logger.info("config.get_setting -> '"+repr(value)+"'") return value # Global setting else: # logger.info("config.get_setting reading main setting '"+name+"'") value = __settings__.getSetting(name) # Translate Path if start with "special://" if value.startswith("special://") and "librarypath" not in name: value = xbmc.translatePath(value) # hack para devolver el tipo correspondiente settings_types = get_settings_types() if settings_types.get(name) in ['enum', 'number']: value = int(value) elif settings_types.get(name) == 'bool': value = value == 'true' elif not settings_types.has_key(name): try: t = eval(value) value = t[0](t[1]) except: value = None return value
def get_setting(name, channel="", server="", default=None): """ Returns the configuration value of the requested parameter. Returns the value of the parameter 'name' in the global configuration, in the own configuration of the channel 'channel' or in that of the server 'server'. The channel and server parameters should not be used simultaneously. If the channel name is specified it will be returned the result of calling channeltools.get_channel_setting (name, channel, default). If the name of the server will return the result of calling servertools.get_channel_setting (name, server, default). If I dont know Specify none of the above will return the value of the parameter in the global configuration if it exists or the default value otherwise. @param name: parameter name @type name: str @param channel: channel name @type channel: str @param server: server name @type server: str @param default: return value in case the name parameter does not exist @type default: any @return: The value of the parameter 'name' @rtype: any """ # Specific channel setting if channel: # logger.info("get_setting reading channel setting '"+name+"' from channel json") from core import channeltools value = channeltools.get_channel_setting(name, channel, default) # logger.info("get_setting -> '"+repr(value)+"'") return value # Specific server setting elif server: # logger.info("get_setting reading server setting '"+name+"' from server json") from core import servertools value = servertools.get_server_setting(name, server, default) # logger.info("get_setting -> '"+repr(value)+"'") return value # Global setting else: # logger.info("get_setting reading main setting '"+name+"'") value = __settings__.getSetting(name) if not value: return default # Translate Path if start with "special://" if value.startswith("special://") and "videolibrarypath" not in name: value = xbmc.translatePath(value) # hack para devolver el tipo correspondiente if value == "true": return True elif value == "false": return False else: # special case return as str try: value = int(value) except ValueError: pass return value
def get_setting(name, channel="", server="", default=None, caching_var=True): global alfa_settings """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global, en la configuracion propia del canal 'channel' o en la del servidor 'server'. Los parametros channel y server no deben usarse simultaneamente. Si se especifica el nombre del canal se devolvera el resultado de llamar a channeltools.get_channel_setting(name, channel, default). Si se especifica el nombre del servidor se devolvera el resultado de llamar a servertools.get_channel_setting(name, server, default). Si no se especifica ninguno de los anteriores se devolvera el valor del parametro en la configuracion global si existe o el valor default en caso contrario. @param name: nombre del parametro @type name: str @param channel: nombre del canal @type channel: str @param server: nombre del servidor @type server: str @param default: valor devuelto en caso de que no exista el parametro name @type default: any @return: El valor del parametro 'name' @rtype: any """ # Specific channel setting if channel: # logger.info("get_setting reading channel setting '"+name+"' from channel json") from core import channeltools value = channeltools.get_channel_setting(name, channel, default, caching_var=caching_var) # logger.info("get_setting -> '"+repr(value)+"'") return value # Specific server setting elif server: # logger.info("get_setting reading server setting '"+name+"' from server json") from core import servertools value = servertools.get_server_setting(name, server, default, caching_var=caching_var) # logger.info("get_setting -> '"+repr(value)+"'") return value # Global setting else: alfa_caching = bool(window.getProperty("alfa_caching")) if alfa_caching and caching_var: alfa_settings = json.loads(window.getProperty("alfa_settings")) # Si el alfa_caching está activo, se usa la variable cargada. Si no, se cargan por el método tradicional if not alfa_settings: get_all_settings_addon() if alfa_caching and caching_var and name not in str(alfa_no_caching_vars) \ and alfa_settings.get(name, None) != None: # Si el alfa_caching está activo y la variable cargada. Si no, se cargan por el método tradicional return get_setting_values(name, alfa_settings.get(name, default)) else: # logger.info("get_setting reading main setting '"+name+"'") value = __settings__.getSetting(name) if not value: return default return get_setting_values(name, value, decode_var_=False)
def get_setting(name, channel="", server=""): """ Retorna el valor de configuracion del parametro solicitado. Devuelve el valor del parametro 'name' en la configuracion global o en la configuracion propia del canal 'channel'. Si se especifica el nombre del canal busca en la ruta \addon_data\plugin.video.pelisalacarta\settings_channels el archivo channel_data.json y lee el valor del parametro 'name'. Si el archivo channel_data.json no existe busca en la carpeta channels el archivo channel.xml y crea un archivo channel_data.json antes de retornar el valor solicitado. Si el parametro 'name' no existe en channel_data.json lo busca en la configuracion global y si ahi tampoco existe devuelve un str vacio. Parametros: name -- nombre del parametro channel [opcional] -- nombre del canal Retorna: value -- El valor del parametro 'name' """ # Specific channel setting if channel: # logger.info("config.get_setting reading channel setting '"+name+"' from channel xml") from core import channeltools value = channeltools.get_channel_setting(name, channel) # logger.info("config.get_setting -> '"+repr(value)+"'") return value elif server: # logger.info("config.get_setting reading server setting '"+name+"' from server xml") from core import servertools value = servertools.get_server_setting(name, server) # logger.info("config.get_setting -> '"+repr(value)+"'") return value # Global setting else: # logger.info("config.get_setting reading main setting '"+name+"'") global settings_dic value = settings_dic.get(name, "") if name == "adult_mode": global adult_setting id = threading.current_thread().name if adult_setting.get(id) == True: value = "2" # hack para devolver el tipo correspondiente global settings_types if settings_types.get(name) in ['enum', 'number']: value = int(value) elif settings_types.get(name) == 'bool': value = value == 'true' elif not settings_types.has_key(name): try: t = eval (value) value = t[0](t[1]) except: value = None return value