general
- _print_debug
- safe_input
- safe_output
- set_dict_key_value
- get_dict_key_value
- generate_md5
- now
- translate_macros
- parse_configuration
- parse_csv_file
- parse_int
- parse_float
- parse_str
- parse_bool
_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 = "<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
- 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_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