      """ Override main alignments class for extract """
      def __init__(self, arguments, is_extract, input_is_video=False):
          logger.debug("Initializing %s: (is_extract: %s, input_is_video: %s)",
                       self.__class__.__name__, is_extract, input_is_video)
          self.args = arguments
          self.is_extract = is_extract
          folder, filename = self.set_folder_filename(input_is_video)
          super().__init__(folder,
                           filename=filename)
          logger.debug("Initialized %s", self.__class__.__name__)
  
      def set_folder_filename(self, input_is_video):
          """ Return the folder for the alignments file"""
          if self.args.alignments_path:
 
</s> remove     """ Override main alignments class for extract """
 </s> add     """ Override :class:`lib.alignments.Alignments` to add custom loading based on command
    line arguments.

    Parameters
    ----------
    arguments: :class:`argparse.Namespace`
        The command line arguments that were passed to Faceswap
    is_extract: bool
        ``True`` if the process calling this class is extraction otherwise ``False``
    input_is_video: bool, optional
        ``True`` if the input to the process is a video, ``False`` if it is a folder of images.
        Default: False
    """ </s> remove     def set_folder_filename(self, input_is_video):
        """ Return the folder for the alignments file"""
        if self.args.alignments_path:
            logger.debug("Alignments File provided: '%s'", self.args.alignments_path)
            folder, filename = os.path.split(str(self.args.alignments_path))
 </s> add     def _set_folder_filename(self, input_is_video):
        """ Return the folder and the filename for the alignments file.

        If the input is a video, the alignments file will be stored in the same folder
        as the video, with filename `<videoname>_alignments`.

        If the input is a folder of images, the alignments file will be stored in folder with
        the images and just be called 'alignments'

        Parameters
        ----------
        input_is_video: bool, optional
            ``True`` if the input to the process is a video, ``False`` if it is a folder of images.

        Returns
        -------
        folder: str
            The folder where the alignments file will be stored
        filename: str
            The filename of the alignments file
        """
        if self._args.alignments_path:
            logger.debug("Alignments File provided: '%s'", self._args.alignments_path)
            folder, filename = os.path.split(str(self._args.alignments_path)) </s> remove         logger.info("Process Succesfully Completed. Shutting Down...")
 </s> add     logger.info("Process Succesfully Completed. Shutting Down...") </s> remove     """ Holds the full frames/images """
 </s> add     """ Handles the loading of frames from a folder of images or a video file for extract
    and convert processes.

    Parameters
    ----------
    arguments: :class:`argparse.Namespace`
        The command line arguments that were passed to Faceswap
    """ </s> remove         self.args = arguments
        self.actions = self.set_actions()
 </s> add         self._args = arguments
        self._actions = self._set_actions()
        self._args = arguments
        self._is_extract = is_extract
        folder, filename = self._set_folder_filename(input_is_video)
        super().__init__(folder, filename=filename)
      """ Override main alignments class for extract """
      def __init__(self, arguments, is_extract, input_is_video=False):
          logger.debug("Initializing %s: (is_extract: %s, input_is_video: %s)",
                       self.__class__.__name__, is_extract, input_is_video)
        self._args = arguments
        self._is_extract = is_extract
        folder, filename = self._set_folder_filename(input_is_video)
        super().__init__(folder, filename=filename)
        self._args = arguments
        self._is_extract = is_extract
        folder, filename = self._set_folder_filename(input_is_video)
        super().__init__(folder, filename=filename)
        self._args = arguments
        self._is_extract = is_extract
        folder, filename = self._set_folder_filename(input_is_video)
        super().__init__(folder, filename=filename)
        self._args = arguments
        self._is_extract = is_extract
        folder, filename = self._set_folder_filename(input_is_video)
        super().__init__(folder, filename=filename)
        self._args = arguments
        self._is_extract = is_extract
        folder, filename = self._set_folder_filename(input_is_video)
        super().__init__(folder, filename=filename)
          logger.debug("Initialized %s", self.__class__.__name__)
  
      def set_folder_filename(self, input_is_video):
          """ Return the folder for the alignments file"""
          if self.args.alignments_path:
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 Smart Masks to Convert (#957)

- scripts.convert - Use Smart Masks for Convert
    * Make on-the-fly conversion an explicit option

- Move BlurMask to lib.faces_detect

- tools.preview - Fix for smart masks
    * Subclass from tk.Tk
    * Options to lib.gui.control_helper
    *variable cleanup

- lib.logger - Demote more tensorflow deprecation messages

- Documentation:
    * lib.faces_detect.BlurMask
    * plugins.convert.mask
    * lib.convert
    * scripts.convert
    * scripts.fsmedia
    * tools.preview 
scripts/fsmedia.py