docs: def Run(self):
      """
      Main entry point for ClearManager class.
  
      Does the following steps:
  
      - Parse script arguments.
      - Optionally print or update database tables.
      - Get all configuration settings from database.
      - Optionally parse directory for file extraction.
      - Recursively parse source directory for files matching
        supported format list.
      - Call renamer.TVRenamer with file list.
      """
      self._GetArgs()
  
      goodlogging.Log.Info("CLEAR", "Using database: {0}".format(self._databasePath))
      self._db = database.RenamerDB(self._databasePath)
  
      if self._dbPrint or self._dbUpdate:
        goodlogging.Log.Seperator()
        self._db.PrintAllTables()
  
        if self._dbUpdate:
          goodlogging.Log.Seperator()
          self._db.ManualUpdateTables()
  
      self._GetDatabaseConfig()
  
      if self._enableExtract:
        goodlogging.Log.Seperator()
  
        extractFileList = []
        goodlogging.Log.Info("CLEAR", "Parsing source directory for compressed files")
        goodlogging.Log.IncreaseIndent()
        extract.GetCompressedFilesInDir(self._sourceDir, extractFileList, self._ignoredDirsList)
        goodlogging.Log.DecreaseIndent()
  
        goodlogging.Log.Seperator()
        extract.Extract(extractFileList, self._supportedFormatsList, self._archiveDir, self._skipUserInputExtract)
  
      goodlogging.Log.Seperator()
  
      tvFileList = []
      goodlogging.Log.Info("CLEAR", "Parsing source directory for compatible files")
      goodlogging.Log.IncreaseIndent()
      self._GetSupportedFilesInDir(self._sourceDir, tvFileList, self._supportedFormatsList, self._ignoredDirsList)
      goodlogging.Log.DecreaseIndent()
  
      tvRenamer = renamer.TVRenamer(self._db,
                                    tvFileList,
                                    self._archiveDir,
                                    guideName = 'EPGUIDES',
                                    tvDir = self._tvDir,
                                    inPlaceRename = self._inPlaceRename,
                                    forceCopy = self._crossSystemCopyEnabled,
                                    skipUserInput = self._skipUserInputRename)
      tvRenamer.Run()