docs: def run(self, file, updateconfig=True, clean=False, path=None):
          """
          Run SExtractor.
  
          If updateconfig is True (default), the configuration
          files will be updated before running SExtractor.
  
          If clean is True (default: False), configuration files
          (if any) will be deleted after SExtractor terminates.
  
          """
  
          if updateconfig:
              self.update_config()
  
          # Try to find SExtractor program
          # This will raise an exception if it failed
  
          self.program, self.version = self.setup(path)
  
          commandline = (
              self.program + " -c " + self.config['CONFIG_FILE'] + " " + file)
          # print commandline
  
          rcode = os.system(commandline)
  
          if (rcode):
              raise SExtractorException(
                  "SExtractor command [%s] failed." % commandline
              )
  
          if clean:
              self.clean()