diff --git a/AirlockTools.py b/AirlockTools.py index 6d3c194..2c3b99c 100644 --- a/AirlockTools.py +++ b/AirlockTools.py @@ -61,7 +61,7 @@ def menu(): if choice == '5': executionhist = utils.allowlist.allowlistexechistories(url,True) - print(executionhist) + #print(executionhist) aggregated = utils.hashfunctions.aggregateHashes(executionhist) print(aggregated) diff --git a/utils/allowlist.py b/utils/allowlist.py index 6d86f2e..df7e042 100644 --- a/utils/allowlist.py +++ b/utils/allowlist.py @@ -35,9 +35,12 @@ def allowlistexechistories(url, outputjson: bool): if (datetime.date.today() - datetime.timedelta(days=1) > datetime.datetime.strptime(item['datetime'].replace(' +0000 UTC', ''), '%Y-%m-%dT%H:%M:%SZ').date()): pass else: - json_output['response']['exechistories'].append(json_response_data['response']['exechistories']) + #json_output['response']['exechistories'].append(json_response_data['response']['exechistories'][1]) + for output in json_response_data['response']['exechistories']: + json_output['response']['exechistories'].append(output) + json_output = json.dumps(json_output) if outputjson == True: - return (json_output) + return json_output #endpoint = url + '/v1/logging/exechistories' #payload_dict = { # "type":[1, 2, 6, 7], diff --git a/utils/hashfunctions.py b/utils/hashfunctions.py index 6c41197..966ba69 100644 --- a/utils/hashfunctions.py +++ b/utils/hashfunctions.py @@ -8,12 +8,12 @@ def aggregateHashes(executions_json) -> pd.DataFrame: """ Takes the executions, aggregates all the data with sha256 as primary, then returns aggregated dataframe """ - data = executions_json + data = json.loads(executions_json) df = pd.DataFrame(data["response"]["exechistories"]) if df.empty: return df - + print(df) # Aggregate by sha256, deduplicate lists, and preserve order agg_df = df.groupby("sha256").agg(lambda x: list(dict.fromkeys(x))).reset_index()