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

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

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_string str Si La cadena de caracteres claros descodificada

Return 

Tipo
None

Versión

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_dict dict Si Diccionario 
input_key str Si Clave del diccionario
input_value None Si Valor del diccionario

Return 

Tipo
None

Versión

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

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

Versión

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

Versión

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

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

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

Versión

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

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

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

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

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