          filename:   Filename of alignments file. If a
                      valid extension is provided, then it will be used to
                      decide the serializer otherwise compressed pickle is used.
      """
      # pylint: disable=too-many-public-methods
      def __init__(self, folder, filename="alignments"):
          logger.debug("Initializing %s: (folder: '%s', filename: '%s')",
                       self.__class__.__name__, folder, filename)
          self.serializer = get_serializer("compressed")
          self.file = self.get_location(folder, filename)
 
</s> remove     """ Holds processes pertaining to the alignments file.

        folder:     folder alignments file is stored in
        filename:   Filename of alignments file. If a
                    valid extension is provided, then it will be used to
                    decide the serializer otherwise compressed pickle is used.
 </s> add     """ The alignments file is a custom serialized ``.fsa`` file that holds information for each
    frame for a video or series of images.

    Specifically, it holds a list of faces that appear in each frame. Each face contains
    information detailing their detected bounding box location within the frame, the 68 point
    facial landmarks and any masks that have been extracted.

    Additionally it can also hold video meta information (timestamp and whether a frame is a
    key frame.)

    Parameters
    ----------
    folder: str
        The folder that contains the alignments ``.fsa`` file
    filename: str, optional
        The filename of the ``.fsa`` alignments file. If not provided then the given folder will be
        checked for a default alignments file filename. Default: "alignments" </s> remove         self.serializer = get_serializer("compressed")
        self.file = self.get_location(folder, filename)

        self.data = self.load()
        self.update_legacy()
 </s> add         self._serializer = get_serializer("compressed")
        self._file = self._get_location(folder, filename)
        self._data = self._load()
        self._update_legacy() </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             filename = self.update_file_format(folder, filename)
 </s> add             filename = self._update_file_format(folder, filename) </s> remove     def load(self):
        """ Override the parent :func:`~lib.alignments.Alignments.load` to handle skip existing
 </s> add     def _load(self):
        """ Override the parent :func:`~lib.alignments.Alignments._load` to handle skip existing
          filename:   Filename of alignments file. If a
                      valid extension is provided, then it will be used to
                      decide the serializer otherwise compressed pickle is used.
      """

      def __init__(self, folder, filename="alignments"):
          logger.debug("Initializing %s: (folder: '%s', filename: '%s')",
                       self.__class__.__name__, folder, filename)
          self.serializer = get_serializer("compressed")
          self.file = self.get_location(folder, filename)
keep keep keep keep 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