# general # _print_debug **Descripción** Imprime cualquier lista, dict, string, float o integer como un json **Parámetros**
**Nombre** **Tipo****Requerido****Descripción**
var
strSiElemento que será imprimido
print_errors
boolNoChequeo para pintar errores.
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt device_name = "Router" device_status = "Active" device_data = { "cpu_usage": 80, "memory_usage": 60 } information = { "name": device_name, "status": device_status, "data": device_data } pt.agents._print_debug(information, print_errors=True) ``` 2 # safe_input **Descripción** Convierte una cadena de entrada codificada en entidades HTML en una cadena de caracteres claros. **Parámetros**
**Nombre** **Tipo****Requerido****Descripción**
input_string
strSiLa cadena de entrada codificada en entidades HTML
**Return**
strLa cadena de caracteres claros descodificada
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Define an input string with HTML entities input_string = "<p>Hello, <b>world</b>!</p>" # Use the safe_input function to decode the HTML entities decoded_string = pt.general.safe_input(input_string) # Print the decoded string print("Decoded string:", decoded_string) ``` # safe_output **Descripción** Convierte las entidades HTML a sus caracteres correspondientes en la cadena de entrada. **Parámetros**
**Nombre** **Tipo****Requerido****Descripción**
input\_stringstrSiLa cadena de caracteres claros descodificada
**Return**
**Tipo**
None
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Define an input string with HTML entities input_string = "<p>Hello, <b>world</b>!</p>" # Use the safe_output function to convert HTML entities back to characters decoded_string = pt.general.safe_output(input_string) # Print the decoded string print("Decoded string:", decoded_string) ``` # set_dict_key_value **Descripción** Asignar a una clave de un dict un valor determinado **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
input\_dictdictSiDiccionario
input\_keystrSiClave del diccionario
input\_valueNoneSiValor del diccionario
**Return**
**Tipo**
None
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Define the dictionary of monitored devices devices = { 'device1': { 'status': 'online', 'temperature': 25.0, 'humidity': 60.0 }, 'device2': { 'status': 'offline', 'temperature': 0.0, 'humidity': 0.0 } } # Update the status of a device pt.general.set_dict_key_value(devices['device1'], 'status', 'offline') # Update the temperature of another device pt.general.set_dict_key_value(devices['device2'], 'temperature', 22.5) # Display the updated dictionary print("Monitored devices dictionary:", devices) ``` # get_dict_key_value **Descripción** Devuelve el valor de una clave en un dict dado. **Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Sample device monitoring data device_data = { 'device_id': '12345', 'temperature': 28.5, 'status': 'online' } # Get the temperature reading from the device data temperature = pt.general.get_dict_key_value(device_data, 'temperature') if temperature is not None: print("Temperature:", temperature, "C") # Get the status of the device status = pt.general.get_dict_key_value(device_data, 'status') if status is not None: print("Status:", status) ``` # generate_md5 **Descripción** Genera un hash MD5 para la cadena de entrada dada **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
input\_stringstrSiLa cadena para la que se generará el hash MD5.
**Return**
strEl hash MD5 de la cadena de entrada como cadena hexadecimal.
**Requisitos** - hashlib
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Sample monitoring data for a Linux system agent name_agent = "Rocky-linux-master" # Convert the monitoring data dictionary to a string data_string = str(linux_system_data) # Generate MD5 hash for the monitoring data md5_hash = pt.general.generate_md5(data_string) print("Linux System Monitoring Data:") print(linux_system_data) print("MD5 Hash:", md5_hash) ``` # now **Descripción** Devuelve la hora en formato aaaa/mm/dd HH:MM:SS por defecto. **Parámetros**
**Nombre**
**Tipo**
**Requerido**
**Descripción**
print_flag
int
No
Sirve para imprimir la hora, de no utilizarse la hora se devolverá. Por defecto None
utimestamp
int
No
Sirve para introducir un utimestamp, por defecto utilizará el actual.
**Return**
**Nombre****Descripción**
strHora en formato aaaa/mm/dd HH:MM:SS
floatHora en formato epoch time
**Requisitos** - datetime.datetime **Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Get the current time in the default format current_time_default = pt.general.now() print("Current Time (Default Format):", current_time_default) # Get the current time in Unix timestamp format current_time_unix = pt.general.now(utimestamp=True) print("Current Time (Unix Timestamp):", current_time_unix) # Get and print the current time with the specified format current_time_custom_format = pt.general.now(print_flag=True) ``` # translate_macros **Descripción** Espera un diccionario de macros clave:valor (nombre\_macro:valor\_macro) y una cadena para reemplazar la macro. **Parámetros**
**Nombre**
**Tipo**
**Requerido**
**Descripción**
macro_dic
dict
Si
Diccionario de macros clave:valor (nombre\_macro:valor\_macro)
data
str
Si
String para reemplazar la macro.
**Return**
strDevuelve el string parseado
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Define a dictionary of macros and their corresponding values macros = { "{DATE}": "2023-08-16", "{TIME}": "15:30:00", "{DEVICE}": "Linux Server", "{USER}": "admin" } # Input string with macros input_data = "The {DEVICE} is operational since {TIME}." # Replace macros in the input string translated_data = pt.general.translate_macros(macro_dic=macros, data=input_data) # Print the translated input string print("Translated input string:", translated_data) ``` # parse_configuration **Descripción** Analiza la configuración. Lee el fichero de configuración y almacena sus datos como dict. **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
file siRuta del fichero de configuración. Por defecto es "/etc/pandora/pandora\_server.conf"
separator noSeparador para la opción y el valor. Por defecto es " "
default\_values noDiccionario de valores por defecto
**Return**
dictDiccionario que contiene todas las claves y valores del fichero
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Specify the path to the configuration file config_file = "/etc/pandora/pandora_server.conf" # Specify the separator used in the configuration file separator = "=" # Define default values for configuration options default_config = { "server_port": "8080", "debug_mode": "false", "log_file": "/var/log/pandora.log" } # Parse the configuration file and get the configuration data parsed_config = pt.general.parse_configuration(file=config_file, separator=separator, default_values=default_config) # Print the parsed configuration data print("Parsed configuration:", parsed_config) ``` # parse_csv_file **Descripción** Lee el fichero de configuración y almacena sus datos en un array. **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
filestrSiRuta del fichero csv de configuración
separatorstrNoSeparador para la opción y el valor. Por defecto es ";"
coun_parameters
int
No
Número mínimo de parámetros que debe tener cada línea. Por defecto Ninguno
debugboolNoPara imprimir errores en las líneas
**Return**
listContiene una lista de valores para cada línea csv
**Requisitos** - sys **Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Specify the path to the CSV configuration file csv_file = "data.csv" # Specify the separator used in the CSV file separator = "," # Specify the minimum number of parameters each line should have min_parameters = 3 # Parse the CSV configuration file and get the data in a list parsed_csv_data = pt.general.parse_csv_file(file=csv_file, separator=separator, count_parameters=min_parameters, print_errors=True) # Print the parsed CSV data print("Parsed CSV data:", parsed_csv_data) ``` # parse_int **Descripción** Convierte una variable dada en una cadena. **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
varNoneSiLa variable a analizar como cadena.
**Return**
strEl valor de la cadena analizada. Si el análisis falla, devuelve "".
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Sample variables to be parsed as integers var1 = "123" var2 = "45.67" var3 = "invalid" # Parse the variables as integers using the parse_int function parsed_var1 = pt.general.parse_int(var1) parsed_var2 = pt.general.parse_int(var2) parsed_var3 = pt.general.parse_int(var3) # Print the parsed integer values print("Parsed var1:", parsed_var1) # Should print: Parsed var1: 123 print("Parsed var2:", parsed_var2) # Should print: Parsed var2: 0 (parsing fails for decimal value) print("Parsed var3:", parsed_var3) # Should print: Parsed var3: 0 (parsing fails for invalid value) ``` # parse_float **Descripción** Convierte una variable dada a float. **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
varNoneSILa variable a convertir en float.
**Return**
floatEl valor de float analizado. Si el análisis falla, devuelve 0.
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Sample variables to be parsed as floats var1 = "123.45" var2 = "invalid" var3 = 67 # Parse the variables as floats using the parse_float function parsed_var1 = pt.general.parse_float(var1) parsed_var2 = pt.general.parse_float(var2) parsed_var3 = pt.general.parse_float(var3) # Print the parsed float values print("Parsed var1:", parsed_var1) # Should print: Parsed var1: 123.45 print("Parsed var2:", parsed_var2) # Should print: Parsed var2: 0.0 (parsing fails for invalid value) print("Parsed var3:", parsed_var3) # Should print: Parsed var3: 67.0 ``` # parse_str **Descripción** Convierte una variable dada en una cadena. **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
varNoneSiLa variable a analizar como cadena.
**Return**
strEl valor de la cadena analizada. Si el análisis falla, devuelve "".s
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Sample variables to be parsed as strings var1 = 12345 var2 = 3.14159 var3 = True # Parse the variables as strings using the parse_str function parsed_var1 = pt.general.parse_str(var1) parsed_var2 = pt.general.parse_str(var2) parsed_var3 = pt.general.parse_str(var3) # Print the parsed string values print("Parsed var1:", parsed_var1) # Should print: Parsed var1: 12345 print("Parsed var2:", parsed_var2) # Should print: Parsed var2: 3.14159 print("Parsed var3:", parsed_var3) # Should print: Parsed var3: True ``` # parse_bool **Descripción** Convierte una variable dada en bool. **Parámetros**
**Nombre****Tipo****Requerido****Descripción**
varNoneSiLa variable a convertir en bool.
**Return**
boolEl valor bool analizado. Si el análisis falla, devuelve False.
**Versión** - 1.0.0 **Ejemplo** ``` import pandoraPlugintools as pt # Sample variables to be parsed as booleans var1 = "True" var2 = 1 var3 = "false" # Parse the variables as booleans using the parse_bool function parsed_var1 = pt.general.parse_bool(var1) parsed_var2 = pt.general.parse_bool(var2) parsed_var3 = pt.general.parse_bool(var3) # Print the parsed boolean values print("Parsed var1:", parsed_var1) # Should print: Parsed var1: True print("Parsed var2:", parsed_var2) # Should print: Parsed var2: True print("Parsed var3:", parsed_var3) # Should print: Parsed var3: False ```