general

_print_debug
Descripción 

 Imprime cualquier lista, dict, string, float o integer como un json 

 Parámetros 

 

 

 

 Nombre  

 Tipo 

 Requerido 

 Descripción 

 

 

 

 

 var 

 

 

 str 

 Si 

 Elemento que será imprimido 

 

 

 

 

 print_errors 

 

 

 bool 

 No 

 Chequeo 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 

 

 

 str 

 Si 

 La cadena de entrada codificada en entidades HTML 

 

 

 

 Return 

 

 

 

 str 

 La cadena de caracteres claros descodificada 

 

 

 

 Versión 

 

 1.0.0 

 

 Ejemplo 

 import pandoraPlugintools as pt

# Define an input string with HTML entities

input_string = "&lt;p&gt;Hello, &lt;b&gt;world&lt;/b&gt;!&lt;/p&gt;"

# 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_string 

 str 

 Si 

 La 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 = "&lt;p&gt;Hello, &lt;b&gt;world&lt;/b&gt;!&lt;/p&gt;"

# 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_dict 

 dict 

 Si 

 Diccionario  

 

 

 input_key 

 str 

 Si 

 Clave del diccionario 

 

 

 input_value 

 None 

 Si 

 Valor 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_string 

 str 

 Si 

 La cadena para la que se generará el hash MD5. 

 

 

 

 Return  

 

 

 

 str 

 El 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 

 

 

 str 

 Hora en formato aaaa/mm/dd HH:MM:SS 

 

 

 float 

 Hora 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  

 

 

 

 str 

 Devuelve 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 

   

 si 

 Ruta del fichero de configuración. Por defecto es "/etc/pandora/pandora_server.conf" 

 

 

 separator 

   

 no 

 Separador para la opción y el valor. Por defecto es " " 

 

 

 default_values 

   

 no 

 Diccionario de valores por defecto 

 

 

 

 Return  

 

 

 

 dict 

 Diccionario 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 

 

 

 file 

 str 

 Si 

 Ruta del fichero csv de configuración 

 

 

 separator 

 str 

 No 

 Separador 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 

 

 

 debug 

 bool 

 No 

 Para imprimir errores en las líneas 

 

 

 

 Return  

 

 

 

 list 

 Contiene 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 

 

 

 var 

 None 

 Si 

 La variable a analizar como cadena. 

 

 

 

 Return  

 

 

 

 str 

 El 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 

 

 

 var 

 None 

 SI 

 La variable a convertir en float. 

 

 

 

 Return  

 

 

 

 float 

 El 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 

 

 

 var 

 None 

 Si 

 La variable a analizar como cadena. 

 

 

 

 Return  

 

 

 

 str 

 El 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 

 

 

 var 

 None 

 Si 

 La variable a convertir en bool. 

 

 

 

 Return  

 

 

 

 bool 

 El 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