X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_nbi%2Futils.py;h=9b48ee8be0597e80c04f6f64bba37dfe28dd62a7;hb=7802ff80245ba7ba6055bc927b91e4f8b1f42542;hp=aac3d905afb3eb21d24a494239d10415dcbd2fb2;hpb=b995ea260a3a2f88a4e041c7e2dd745daee91825;p=osm%2FNBI.git diff --git a/osm_nbi/utils.py b/osm_nbi/utils.py index aac3d90..9b48ee8 100644 --- a/osm_nbi/utils.py +++ b/osm_nbi/utils.py @@ -21,6 +21,8 @@ # For those usages not covered by the Apache License, Version 2.0 please # contact: fbravo@whitestack.com or agarcia@whitestack.com ## +from cefevent import CEFEvent +from osm_nbi import version def find_in_list(the_list, condition_lambda): @@ -31,6 +33,14 @@ def find_in_list(the_list, condition_lambda): return None +def filter_in_list(the_list, condition_lambda): + ret = [] + for item in the_list: + if condition_lambda(item): + ret.append(item) + return ret + + def find_index_in_list(the_list, condition_lambda): for index, item in enumerate(the_list): if condition_lambda(item): @@ -56,3 +66,29 @@ def deep_update_dict(data, updated_data): return data return data + + +def cef_event(cef_logger, cef_fields): + for key, value in cef_fields.items(): + cef_logger.set_field(key, value) + + +def cef_event_builder(config): + cef_logger = CEFEvent() + cef_fields = { + "version": config["version"], + "deviceVendor": config["deviceVendor"], + "deviceProduct": config["deviceProduct"], + "deviceVersion": get_version(), + "message": "CEF Logger", + "sourceUserName": "admin", + "severity": 1, + } + cef_event(cef_logger, cef_fields) + cef_logger.build_cef() + return cef_logger + + +def get_version(): + osm_version = version.split("+") + return osm_version[0]