(self,
                 debug=False,
                 config_path="securetea/lib/antivirus/config/config.json",
                 vt_api_key=None,
                 use_clamav=False,
                 use_yara=False,
                 monitor_changes=1,
                 monitor_usb=1,
                 update=1,
                 custom_scan=None,
                 auto_delete=0)
Initialize CoreEngine.

        Args:
            debug (bool): Log on terminal or not
            config_path (str): Configuration JSON file path
            vt_api_key (str): VirusTotal API Key
            monitor_changes (int): Monitor changes (1) or not (0)
            monitor_usb (int): Monitor USB (1) or not (0)

        Raises:
            None

        Returns:
            None
Initialize CoreEngine.
Initialize CoreEngine .
def __init__(self,
                 debug=False,
                 config_path="securetea/lib/antivirus/config/config.json",
                 vt_api_key=None,
                 use_clamav=False,
                 use_yara=False,
                 monitor_changes=1,
                 monitor_usb=1,
                 update=1,
                 custom_scan=None,
                 auto_delete=0):
        """
        Initialize CoreEngine.

        Args:
            debug (bool): Log on terminal or not
            config_path (str): Configuration JSON file path
            vt_api_key (str): VirusTotal API Key
            monitor_changes (int): Monitor changes (1) or not (0)
            monitor_usb (int): Monitor USB (1) or not (0)

        Raises:
            None

        Returns:
            None
        """
        self.debug = debug
        # Initialize logger
        self.logger = AntiVirusLogger(
                __name__,
                debug=debug
        )
        if config_path is not None:
            self._CONFIG_PATH = config_path
        else:
            self.logger.log(
                "Configuration file path not found.",
                logtype="error"
            )
            sys.exit(0)

        # Initialize variables
        self.update = int(update)
        self.monitor_changes = int(monitor_changes)
        self.monitor_usb = int(monitor_usb)
        self.auto_delete = int(auto_delete)

        if custom_scan:
            path = custom_scan
        else:
            path = "~/"

        # Create GatherFile object
        self.gather_file_obj = GatherFile(path=path)
        # Get list of files
        self.file_list = self.gather_file_obj.scan_dir()
        # Initialize list of process
        self.process_pool = []

        if vt_api_key and vt_api_key != "XXXX":
            self.vt_api_key = vt_api_key
        else:
            self.vt_api_key = None

        self.use_clamav = use_clamav
        self.use_yara = use_yara

        # Create ScannerEngine object
        self.scanner_engine_obj = ScannerEngine(debug=debug,
                                                config_path=self._CONFIG_PATH,
                                                file_list=self.file_list,
                                                vt_api_key=self.vt_api_key,
                                                use_clamav=self.use_clamav,
                                                use_yara=self.use_yara)
        # Create MonitorEngine object
        self.monitor_engine_obj = MonitorEngine(debug=debug,
                                                config_path=self._CONFIG_PATH,
                                                monitor_changes=self.monitor_changes,
                                                monitor_usb=self.monitor_usb,
                                                vt_api_key=self.vt_api_key,
                                                use_clamav=self.use_clamav,
                                                use_yara=self.use_yara)
        # Create Cleaner object
        self.cleaner_obj = Cleaner(debug=debug, config_path=self._CONFIG_PATH)
def __init__ ( self , debug = False , config_path = "securetea/lib/antivirus/config/config.json" , vt_api_key = None , use_clamav = False , use_yara = False , monitor_changes = 1 , monitor_usb = 1 , update = 1 , custom_scan = None , auto_delete = 0 ) : self . debug = debug # Initialize logger self . logger = AntiVirusLogger ( __name__ , debug = debug ) if config_path is not None : self . _CONFIG_PATH = config_path else : self . logger . log ( "Configuration file path not found." , logtype = "error" ) sys . exit ( 0 ) # Initialize variables self . update = int ( update ) self . monitor_changes = int ( monitor_changes ) self . monitor_usb = int ( monitor_usb ) self . auto_delete = int ( auto_delete ) if custom_scan : path = custom_scan else : path = "~/" # Create GatherFile object self . gather_file_obj = GatherFile ( path = path ) # Get list of files self . file_list = self . gather_file_obj . scan_dir ( ) # Initialize list of process self . process_pool = [ ] if vt_api_key and vt_api_key != "XXXX" : self . vt_api_key = vt_api_key else : self . vt_api_key = None self . use_clamav = use_clamav self . use_yara = use_yara # Create ScannerEngine object self . scanner_engine_obj = ScannerEngine ( debug = debug , config_path = self . _CONFIG_PATH , file_list = self . file_list , vt_api_key = self . vt_api_key , use_clamav = self . use_clamav , use_yara = self . use_yara ) # Create MonitorEngine object self . monitor_engine_obj = MonitorEngine ( debug = debug , config_path = self . _CONFIG_PATH , monitor_changes = self . monitor_changes , monitor_usb = self . monitor_usb , vt_api_key = self . vt_api_key , use_clamav = self . use_clamav , use_yara = self . use_yara ) # Create Cleaner object self . cleaner_obj = Cleaner ( debug = debug , config_path = self . _CONFIG_PATH )