Kaynağa Gözat

Move setting of output directory up and store it in Utility

Determining the output directory before the creation of the attacks
and storing it globally makes that directory available to the
attacks so that they can save miscellaneous output files there.
dustin.born 6 yıl önce
ebeveyn
işleme
e304c64611
2 değiştirilmiş dosya ile 6 ekleme ve 3 silme
  1. 5 3
      code/Core/Controller.py
  2. 1 0
      code/ID2TLib/Utility.py

+ 5 - 3
code/Core/Controller.py

@@ -36,6 +36,10 @@ class Controller:
         self.statisticsDB = self.statistics.get_statistics_database()
         self.attack_controller = atkCtrl.AttackController(self.pcap_file, self.statistics, self.label_manager)
 
+        # Set output directory and create it (if necessary)
+        Util.OUT_DIR = os.path.join(os.path.dirname(pcap_file_path), "ID2T_results") + os.sep
+        os.makedirs(Util.OUT_DIR, exist_ok=True)
+
     def load_pcap_statistics(self, flag_write_file: bool, flag_recalculate_stats: bool, flag_print_statistics: bool):
         """
         Loads the PCAP statistics either from the database, if the statistics were calculated earlier, or calculates
@@ -100,10 +104,8 @@ class Controller:
         self.pcap_dest_path = self.pcap_file.merge_attack(attacks_pcap_path)
 
         tmp_path_tuple = self.pcap_dest_path.rpartition("/")
-        result_dir = tmp_path_tuple[0] + tmp_path_tuple[1] + "ID2T_results/"
-        result_path = result_dir + tmp_path_tuple[2]
+        result_path = Util.OUT_DIR + tmp_path_tuple[2]
 
-        os.makedirs(result_dir, exist_ok=True)
         os.rename(self.pcap_dest_path, result_path)
         self.pcap_dest_path = result_path
 

+ 1 - 0
code/ID2TLib/Utility.py

@@ -17,6 +17,7 @@ CODE_DIR = os.path.dirname(os.path.abspath(__file__)) + "/../"
 ROOT_DIR = CODE_DIR + "../"
 RESOURCE_DIR = ROOT_DIR + "resources/"
 TEST_DIR = RESOURCE_DIR + "test/"
+OUT_DIR = None
 
 platforms = {"win7", "win10", "winxp", "win8.1", "macos", "linux", "win8", "winvista", "winnt", "win2000"}
 platform_probability = {"win7": 48.43, "win10": 27.99, "winxp": 6.07, "win8.1": 6.07, "macos": 5.94, "linux": 3.38,