Changed global variables names and minor changes
This commit is contained in:
parent
3c5ee4e03b
commit
3a5949ac5e
|
@ -12,7 +12,7 @@ from .transfer import write_xml
|
|||
# Its values can be changed.
|
||||
#########################################################################################
|
||||
|
||||
global_variables = {
|
||||
GLOBAL_VARIABLES = {
|
||||
'agents_group_name' : '',
|
||||
'interval' : 300
|
||||
}
|
||||
|
@ -41,13 +41,13 @@ def set_global_variable(
|
|||
value
|
||||
):
|
||||
"""
|
||||
Sets the value of a global variable in the 'global_variables' dictionary.
|
||||
Sets the value of a global variable in the 'GLOBAL_VARIABLES' dictionary.
|
||||
|
||||
Args:
|
||||
variable_name (str): Name of the variable to set.
|
||||
value (any): Value to assign to the variable.
|
||||
"""
|
||||
set_dict_key_value(global_variables, variable_name, value)
|
||||
set_dict_key_value(GLOBAL_VARIABLES, variable_name, value)
|
||||
|
||||
####
|
||||
# Agent class
|
||||
|
@ -92,8 +92,8 @@ def init_agent(
|
|||
"os_version" : "",
|
||||
"timestamp" : now(),
|
||||
"address" : "",
|
||||
"group" : global_variables['agents_group_name'],
|
||||
"interval" : global_variables['interval'],
|
||||
"group" : GLOBAL_VARIABLES['agents_group_name'],
|
||||
"interval" : GLOBAL_VARIABLES['interval'],
|
||||
"agent_mode" : "1",
|
||||
}
|
||||
|
||||
|
|
|
@ -5,52 +5,10 @@ import json
|
|||
# Define some global variables
|
||||
#########################################################################################
|
||||
|
||||
output = {}
|
||||
error_level = 0
|
||||
summary = {}
|
||||
info = ""
|
||||
monitoring_data = []
|
||||
|
||||
####
|
||||
# Set fixed value to summary key
|
||||
#########################################################################################
|
||||
def set_summary_value(
|
||||
key: str = "",
|
||||
value = ""
|
||||
):
|
||||
"""
|
||||
Sets a fixed value for a key in the 'summary' dictionary.
|
||||
|
||||
Args:
|
||||
key (str): Key to set the value for.
|
||||
value (any): Value to assign to the key.
|
||||
"""
|
||||
global summary
|
||||
|
||||
summary[key] = value
|
||||
|
||||
####
|
||||
# Add value to summary key
|
||||
#########################################################################################
|
||||
def add_summary_value(
|
||||
key: str = "",
|
||||
value = ""
|
||||
):
|
||||
"""
|
||||
Adds a value to a key in the 'summary' dictionary.
|
||||
|
||||
If the key already exists, the value will be incremented. Otherwise, a new key will be created.
|
||||
|
||||
Args:
|
||||
key (str): Key to add the value to.
|
||||
value (any): Value to add to the key.
|
||||
"""
|
||||
global summary
|
||||
|
||||
if key in summary:
|
||||
summary[key] += value
|
||||
else:
|
||||
set_summary_value(key, value)
|
||||
ERROR_LEVEL = 0
|
||||
SUMMARY = {}
|
||||
INFO = ""
|
||||
MONITORING_DATA = []
|
||||
|
||||
####
|
||||
# Set error level to value
|
||||
|
@ -64,44 +22,98 @@ def set_error_level(
|
|||
Args:
|
||||
value (int, optional): The error level value. Default is 0.
|
||||
"""
|
||||
global error_level
|
||||
global ERROR_LEVEL
|
||||
|
||||
error_level = value
|
||||
ERROR_LEVEL = value
|
||||
|
||||
####
|
||||
# Add data to info
|
||||
# Set fixed value to summary key
|
||||
#########################################################################################
|
||||
def add_info_value(
|
||||
data: str = ""
|
||||
def set_summary_value(
|
||||
key: str = "",
|
||||
value = ""
|
||||
):
|
||||
"""
|
||||
Adds data to the 'info' variable.
|
||||
Sets a fixed value for a key in the 'SUMMARY' dictionary.
|
||||
|
||||
Args:
|
||||
data (str, optional): The data to add to the 'info' variable. Default is an empty string.
|
||||
key (str): Key to set the value for.
|
||||
value (any): Value to assign to the key.
|
||||
"""
|
||||
global info
|
||||
global SUMMARY
|
||||
|
||||
info += data
|
||||
SUMMARY[key] = value
|
||||
|
||||
####
|
||||
# Add value to summary key
|
||||
#########################################################################################
|
||||
def add_summary_value(
|
||||
key: str = "",
|
||||
value = ""
|
||||
):
|
||||
"""
|
||||
Adds a value to a key in the 'SUMMARY' dictionary.
|
||||
|
||||
If the key already exists, the value will be incremented. Otherwise, a new key will be created.
|
||||
|
||||
Args:
|
||||
key (str): Key to add the value to.
|
||||
value (any): Value to add to the key.
|
||||
"""
|
||||
global SUMMARY
|
||||
|
||||
if key in SUMMARY:
|
||||
SUMMARY[key] += value
|
||||
else:
|
||||
set_summary_value(key, value)
|
||||
|
||||
####
|
||||
# Set fixed value to info
|
||||
#########################################################################################
|
||||
def set_info_value(
|
||||
data: str = ""
|
||||
value: str = ""
|
||||
):
|
||||
"""
|
||||
Sets a fixed value to the 'info' variable.
|
||||
Sets a fixed value to the 'INFO' variable.
|
||||
|
||||
Args:
|
||||
data (str, optional): The value to set in the 'info' variable. Default is an empty string.
|
||||
data (str, optional): The value to set in the 'INFO' variable. Default is an empty string.
|
||||
"""
|
||||
global info
|
||||
global INFO
|
||||
|
||||
info = data
|
||||
INFO = value
|
||||
|
||||
####
|
||||
# Set fixed value to info
|
||||
# Add data to info
|
||||
#########################################################################################
|
||||
def add_info_value(
|
||||
value: str = ""
|
||||
):
|
||||
"""
|
||||
Adds data to the 'INFO' variable.
|
||||
|
||||
Args:
|
||||
data (str, optional): The data to add to the 'INFO' variable. Default is an empty string.
|
||||
"""
|
||||
global INFO
|
||||
|
||||
INFO += value
|
||||
|
||||
####
|
||||
# Set fixed value to monitoring data
|
||||
#########################################################################################
|
||||
def set_monitoring_data(
|
||||
data: list = []
|
||||
):
|
||||
"""
|
||||
TODO: Add comments
|
||||
"""
|
||||
global MONITORING_DATA
|
||||
|
||||
MONITORING_DATA = data
|
||||
|
||||
####
|
||||
# Add value to monitoring data
|
||||
#########################################################################################
|
||||
def add_monitoring_data(
|
||||
data: dict = {}
|
||||
|
@ -109,9 +121,9 @@ def add_monitoring_data(
|
|||
"""
|
||||
TODO: Add comments
|
||||
"""
|
||||
global monitoring_data
|
||||
global MONITORING_DATA
|
||||
|
||||
monitoring_data.append(data)
|
||||
MONITORING_DATA.append(data)
|
||||
|
||||
####
|
||||
# Print JSON output and exit script
|
||||
|
@ -120,28 +132,27 @@ def print_output():
|
|||
"""
|
||||
Prints the JSON output and exits the script.
|
||||
|
||||
The function uses the global variables 'output', 'error_level', 'summary', and 'info'
|
||||
The function uses the global variables 'ERROR_LEVEL', 'SUMMARY', and 'info'
|
||||
to create the JSON output. It then prints the JSON string and exits the script with
|
||||
the 'error_level' as the exit code.
|
||||
the 'ERROR_LEVEL' as the exit code.
|
||||
"""
|
||||
|
||||
global output
|
||||
global error_level
|
||||
global summary
|
||||
global info
|
||||
global monitoring_data
|
||||
global ERROR_LEVEL
|
||||
global SUMMARY
|
||||
global INFO
|
||||
global MONITORING_DATA
|
||||
|
||||
output={}
|
||||
if summary:
|
||||
output["summary"] = summary
|
||||
OUTPUT={}
|
||||
if SUMMARY:
|
||||
OUTPUT["summary"] = SUMMARY
|
||||
|
||||
if info:
|
||||
output["info"] = info
|
||||
if INFO:
|
||||
OUTPUT["info"] = INFO
|
||||
|
||||
if monitoring_data:
|
||||
output["monitoring_data"] = monitoring_data
|
||||
if MONITORING_DATA:
|
||||
OUTPUT["monitoring_data"] = MONITORING_DATA
|
||||
|
||||
json_string = json.dumps(output)
|
||||
json_string = json.dumps(OUTPUT)
|
||||
|
||||
print(json_string)
|
||||
sys.exit(error_level)
|
||||
sys.exit(ERROR_LEVEL)
|
||||
|
|
|
@ -7,9 +7,9 @@ from multiprocessing import Pool, Manager
|
|||
# Define multi-processing internal global variables.
|
||||
#########################################################################################
|
||||
|
||||
_manager = Manager()
|
||||
_shared_dict = _manager.dict()
|
||||
_shared_dict_lock = _manager.Lock()
|
||||
_MANAGER = Manager()
|
||||
_SHARED_DICT = _MANAGER.dict()
|
||||
_SHARED_DICT_LOCK = _MANAGER.Lock()
|
||||
|
||||
####
|
||||
# Internal use only: Run a given function in a thread
|
||||
|
@ -110,11 +110,11 @@ def set_shared_dict_value(
|
|||
Set a given value to a key in the internal shared dict.
|
||||
Used by all parallel processes.
|
||||
"""
|
||||
global _shared_dict
|
||||
global _SHARED_DICT
|
||||
|
||||
if key is not None:
|
||||
with _shared_dict_lock:
|
||||
_shared_dict[key] = value
|
||||
with _SHARED_DICT_LOCK:
|
||||
_SHARED_DICT[key] = value
|
||||
|
||||
####
|
||||
# Add a given value to a key in the internal shared dict.
|
||||
|
@ -128,12 +128,12 @@ def add_shared_dict_value(
|
|||
Add a given value to a key in the internal shared dict.
|
||||
Used by all parallel processes.
|
||||
"""
|
||||
global _shared_dict
|
||||
global _SHARED_DICT
|
||||
|
||||
if key is not None:
|
||||
with _shared_dict_lock:
|
||||
if key in _shared_dict:
|
||||
_shared_dict[key] += value
|
||||
with _SHARED_DICT_LOCK:
|
||||
if key in _SHARED_DICT:
|
||||
_SHARED_DICT[key] += value
|
||||
else:
|
||||
set_shared_dict_value(key, value)
|
||||
|
||||
|
@ -148,11 +148,11 @@ def get_shared_dict_value(
|
|||
Get the value of a key in the internal shared dict.
|
||||
Used by all parallel processes.
|
||||
"""
|
||||
global _shared_dict
|
||||
global _SHARED_DICT
|
||||
|
||||
with _shared_dict_lock:
|
||||
if key in _shared_dict and key is not None:
|
||||
return _shared_dict[key]
|
||||
with _SHARED_DICT_LOCK:
|
||||
if key in _SHARED_DICT and key is not None:
|
||||
return _SHARED_DICT[key]
|
||||
else:
|
||||
return None
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ from .agents import print_agent
|
|||
# Its values can be changed.
|
||||
#########################################################################################
|
||||
|
||||
global_variables = {
|
||||
GLOBAL_VARIABLES = {
|
||||
'transfer_mode' : 'tentacle',
|
||||
'temporal' : '/tmp',
|
||||
'data_dir' : '/var/spool/pandora/data_in/',
|
||||
|
@ -30,13 +30,13 @@ def set_global_variable(
|
|||
value
|
||||
):
|
||||
"""
|
||||
Sets the value of a global variable in the 'global_variables' dictionary.
|
||||
Sets the value of a global variable in the 'GLOBAL_VARIABLES' dictionary.
|
||||
|
||||
Args:
|
||||
variable_name (str): Name of the variable to set.
|
||||
value (any): Value to assign to the variable.
|
||||
"""
|
||||
set_dict_key_value(global_variables, variable_name, value)
|
||||
set_dict_key_value(GLOBAL_VARIABLES, variable_name, value)
|
||||
|
||||
####
|
||||
# Sends file using tentacle protocol
|
||||
|
@ -44,7 +44,7 @@ def set_global_variable(
|
|||
def tentacle_xml(
|
||||
data_file: str = "",
|
||||
tentacle_ops: dict = {},
|
||||
tentacle_path: str = global_variables['tentacle_client'],
|
||||
tentacle_path: str = GLOBAL_VARIABLES['tentacle_client'],
|
||||
debug: int = 0,
|
||||
print_errors: bool = True
|
||||
) -> bool:
|
||||
|
@ -63,11 +63,11 @@ def tentacle_xml(
|
|||
if data_file is not None :
|
||||
|
||||
if not 'address' in tentacle_ops:
|
||||
tentacle_ops['address'] = global_variables['tentacle_ip']
|
||||
tentacle_ops['address'] = GLOBAL_VARIABLES['tentacle_ip']
|
||||
if not 'port' in tentacle_ops:
|
||||
tentacle_ops['port'] = global_variables['tentacle_port']
|
||||
tentacle_ops['port'] = GLOBAL_VARIABLES['tentacle_port']
|
||||
if not 'extra_opts' in tentacle_ops:
|
||||
tentacle_ops['extra_opts'] = global_variables['tentacle_extra_opts']
|
||||
tentacle_ops['extra_opts'] = GLOBAL_VARIABLES['tentacle_extra_opts']
|
||||
|
||||
if tentacle_ops['address'] is None :
|
||||
if print_errors:
|
||||
|
@ -108,11 +108,11 @@ def tentacle_xml(
|
|||
#########################################################################################
|
||||
def transfer_xml(
|
||||
file: str = "",
|
||||
transfer_mode: str = global_variables['transfer_mode'],
|
||||
tentacle_ip: str = global_variables['tentacle_ip'],
|
||||
tentacle_port: int = global_variables['tentacle_port'],
|
||||
tentacle_extra_opts: str = global_variables['tentacle_extra_opts'],
|
||||
data_dir: str = global_variables['data_dir']
|
||||
transfer_mode: str = GLOBAL_VARIABLES['transfer_mode'],
|
||||
tentacle_ip: str = GLOBAL_VARIABLES['tentacle_ip'],
|
||||
tentacle_port: int = GLOBAL_VARIABLES['tentacle_port'],
|
||||
tentacle_extra_opts: str = GLOBAL_VARIABLES['tentacle_extra_opts'],
|
||||
data_dir: str = GLOBAL_VARIABLES['data_dir']
|
||||
):
|
||||
|
||||
"""
|
||||
|
@ -120,10 +120,10 @@ def transfer_xml(
|
|||
|
||||
Args:
|
||||
file (str): Path to file to send.
|
||||
transfer_mode (str, optional): Transfer mode. Default is global_variables['transfer_mode'].
|
||||
tentacle_ip (str, optional): IP address for Tentacle. Default is global_variables['tentacle_ip'].
|
||||
tentacle_port (str, optional): Port for Tentacle. Default is global_variables['tentacle_port'].
|
||||
data_dir (str, optional): Path to data dir with local transfer mode. Default is global_variables['data_dir'].
|
||||
transfer_mode (str, optional): Transfer mode. Default is GLOBAL_VARIABLES['transfer_mode'].
|
||||
tentacle_ip (str, optional): IP address for Tentacle. Default is GLOBAL_VARIABLES['tentacle_ip'].
|
||||
tentacle_port (str, optional): Port for Tentacle. Default is GLOBAL_VARIABLES['tentacle_port'].
|
||||
data_dir (str, optional): Path to data dir with local transfer mode. Default is GLOBAL_VARIABLES['data_dir'].
|
||||
"""
|
||||
if file is not None:
|
||||
if transfer_mode != "local":
|
||||
|
@ -142,7 +142,7 @@ def transfer_xml(
|
|||
def write_xml(
|
||||
xml: str = "",
|
||||
agent_name: str = "",
|
||||
data_dir: str = global_variables['temporal']
|
||||
data_dir: str = GLOBAL_VARIABLES['temporal']
|
||||
) -> str:
|
||||
"""
|
||||
Creates a agent .data file in the specified data_dir folder
|
||||
|
|
Loading…
Reference in New Issue