          return location
  
      # << I/O >> #
  
      def load(self):
          """ Load the alignments data
              Override for custom loading logic """
          logger.debug("Loading alignments")
          if not self.have_alignments_file:
              raise FaceswapError("Error: Alignments file not found at "
                                  "{}".format(self.file))
  
 
</s> remove                                 "{}".format(self.file))
 </s> add                                 "{}".format(self._file)) </s> remove         logger.info("Reading alignments from: '%s'", self.file)
        data = self.serializer.load(self.file)
 </s> add         logger.info("Reading alignments from: '%s'", self._file)
        data = self._serializer.load(self._file) </s> remove         """ Write the serialized alignments file """
 </s> add         """ Write the contents of :attr:`data` to a serialized ``.fsa`` file at the location
        :attr:`file`. """ </s> remove     def get_location(self, folder, filename):
        """ Return the path to alignments file """
 </s> add     def _get_location(self, folder, filename):
        """ Obtains the location of an alignments file.

        If a legacy alignments file is provided/discovered, then the alignments file will be
        updated to the custom ``.fsa`` format and saved.

        Parameters
        ----------
        folder: str
            The folder that the alignments file is located in
        filename: str
            The filename of the alignments file

        Returns
        -------
        str
            The full path to the alignments file
        """ </s> remove             # Test for old format alignments files and reformat if they exist
            # This will be executed if an alignments file has not been explicitly provided
            # therefore it will not have been picked up in the extension test
            self.test_for_legacy(location)
 </s> add             # Test for old format alignments files and reformat if they exist. This will be
            # executed if an alignments file has not been explicitly provided therefore it will not
            # have been picked up in the extension test
            self._test_for_legacy(location)
    def _load(self):
        """ Load the alignments data from the serialized alignments :attr:`file`.

        Returns
        -------
        dict:
            The loaded alignments data
        """
          return location
  
      # << I/O >> #
  
    def _load(self):
        """ Load the alignments data from the serialized alignments :attr:`file`.

        Returns
        -------
        dict:
            The loaded alignments data
        """
    def _load(self):
        """ Load the alignments data from the serialized alignments :attr:`file`.

        Returns
        -------
        dict:
            The loaded alignments data
        """
    def _load(self):
        """ Load the alignments data from the serialized alignments :attr:`file`.

        Returns
        -------
        dict:
            The loaded alignments data
        """
          logger.debug("Loading alignments")
          if not self.have_alignments_file:
              raise FaceswapError("Error: Alignments file not found at "
                                  "{}".format(self.file))
  
keep keep keep keep replace replace replace keep keep keep keep keep
 lib.alignments - Slight update (#978)

* lib.alignments update:
  - Minor structure change (faces to nested dictionary)
  - Refactor internal and external methods
  - Documentation 
lib/alignments.py