def _startFileRecovery(self):
        location_img = tools.determineAbsPath( os.path.join(FESettings.getSettings().getValue("ig_output_dir"), FESettings.getSettings().getValue("ig_output_filename")))
        if self._page1.if_dir.GetValue() == "Working Directory":
            location_dest = tools.determineAbsPath("./")
        else:
            location_dest = tools.determineAbsPath(self._page1.if_dir.GetValue())
        
        self.settings = ExecutionSettings(sourceFiles = [location_img], 
                                          signatures = signatures.getCopyOfAllSignauteres(),
                                          output_frequency = 2300, output_level = 0,
                                          dest_folder = location_dest)
        self.status = ExecutionStatus(self.settings)
        self.startTime = time.time()

        if FileExtractorCore.init(self.status) < 0:
            print "Error on initialisation"
            
        thread.start_new_thread(self._startRecoveryInThred,(self.status,))

        self._mytimer = wx.Timer(self, _TIMER_ID1)
        self._mytimer.Start(1000, 0)
        wx.EVT_TIMER(self, _TIMER_ID1, self._updateValuesRecovery)
def startCLI(argv):
    """
    Starts the CLI application
    
    An L{ExecutionSettings} object is intialised and passed to the method L{handleArguments}, which
    assigns the appropriate values. Afterwards, the FileExtractor core is initialised and
    started with the given source file.
    
    @param argv: List of arguments processed by the application (CL arguments)
    """
    ret, status = handleArguments(argv)
    if ret==0:
        sys.exit()
        
    if ret == 1:
        signatures.printSignatures(status.settings.getActiveSignatures())
        sys.exit()
    
    if FileExtractorCore.init(status) < 0:
        sys.exit()

    printHeader(status)
    signs, counter = FileExtractorCore.startSearch(status)
    printResults(signs, counter, status.getRunTimeForNumber(0))