import os
"""
This file contains all the util function for data processing
"""
from scapy.all import PcapReader
[docs]
def dataloader(pcap_path, fe):
packets = PcapReader(pcap_path)
for pkt in packets:
# extract parsed packet values
traffic_vector = fe.get_traffic_vector(pkt)
# extract features by updating the states
features = fe.update(traffic_vector)
yield features
[docs]
def create_directories(dataset_name):
# Define the base path for artifacts
base_path = os.path.join("./artifacts", dataset_name)
# Define the subdirectories to be created
subdirectories = ["plots", "models", "objects"]
# Iterate through the subdirectories and create them if they don't exist
for subdirectory in subdirectories:
path = os.path.join(base_path, subdirectory)
os.makedirs(path, exist_ok=True) # Create the directory if it doesn't exist
# Create the subdirectories inside 'plots' for specific plot types
plots_path = os.path.join(base_path, "plots")
plot_subdirectories = ["roc", "anomaly", "confusion_matrix"]
for plot_subdir in plot_subdirectories:
plot_path = os.path.join(plots_path, plot_subdir)
os.makedirs(plot_path, exist_ok=True)
# Create the subdirectories inside 'objects' for metrics and reconstruction_error
objects_path = os.path.join(base_path, "objects")
object_subdirectories = ["metrics"]
for object_subdir in object_subdirectories:
object_path = os.path.join(objects_path, object_subdir)
os.makedirs(object_path, exist_ok=True)
print(f"Folder structure created for dataset: {dataset_name}")