Browse Source

Moved cached statistics and query history to XDG compliant location

Stefan Schmidt 6 years ago
parent
commit
178e1f128f

+ 2 - 1
code/Core/Controller.py

@@ -7,6 +7,7 @@ import Core.AttackController as atkCtrl
 import Core.LabelManager as LabelManager
 import Core.Statistics as Statistics
 import ID2TLib.PcapFile as PcapFile
+import ID2TLib.Utility as Util
 
 
 class Controller:
@@ -223,7 +224,7 @@ class Controller:
         readline.parse_and_bind('tab: complete')
         readline.set_completer(make_completer(
             self.statisticsDB.get_all_named_query_keywords() + self.statisticsDB.get_all_sql_query_keywords()))
-        history_file = os.path.join(os.path.expanduser('~'), 'ID2T_data', 'query_history')
+        history_file = os.path.join(Util.CACHE_DIR, 'query_history')
         try:
             readline.read_history_file(history_file)
         except IOError:

+ 2 - 1
code/ID2TLib/PcapFile.py

@@ -2,6 +2,7 @@ import hashlib
 import os.path
 
 import ID2TLib.libpcapreader as pr
+import ID2TLib.Utility as Util
 
 
 class PcapFile(object):
@@ -63,7 +64,7 @@ class PcapFile(object):
 
         return hasher.hexdigest()
 
-    def get_db_path(self, root_directory: str = os.path.join(os.path.expanduser('~'), 'ID2T_data', 'db')):
+    def get_db_path(self, root_directory: str = os.path.join(Util.CACHE_DIR, 'db')):
         """
         Creates a path based on a hashed directory structure. Derives a hash code by the file's hash and derives
         thereof the database path.

+ 2 - 0
code/ID2TLib/Utility.py

@@ -9,8 +9,10 @@ import scipy.stats as stats
 
 matplotlib.use('Agg', force=True)
 import lea
+import xdg.BaseDirectory as BaseDir
 import scapy.layers.inet as inet
 
+CACHE_DIR = os.path.join(BaseDir.xdg_cache_home, 'id2t')
 CODE_DIR = os.path.dirname(os.path.abspath(__file__)) + "/../"
 ROOT_DIR = CODE_DIR + "../"
 RESOURCE_DIR = ROOT_DIR + "resources/"

+ 1 - 1
resources/install_dependencies.sh

@@ -75,7 +75,7 @@ install_pkg_darwin()
 
 install_pip()
 {
-    PYTHON_MODULES="lea numpy matplotlib scapy-python3 scipy coverage"
+    PYTHON_MODULES="pyxdg lea numpy matplotlib scapy-python3 scipy coverage"
     echo -e "Python modules: Checking..."
 
     # Check first to avoid unnecessary sudo