  
          Parameters
          ----------
          mask_type: str
              The mask type to check against the current alignments
  
          Returns
          -------
          bool:
              ``True`` if all faces in the current alignments possess the given ``mask_type``
 
</s> remove         Every face in the alignments file must have the given mask type to successfully
 </s> add         Every face in the alignments :attr:`data` must have the given mask type to successfully </s> remove         """ Ensure the given ``mask_type`` is valid for this alignments file.
 </s> add         """ Ensure the given ``mask_type`` is valid for the alignments :attr:`data`. </s> remove     def count_faces_in_frame(self, frame):
        """ Return number of alignments within frame """
        retval = len(self.data.get(frame, list()))
 </s> add         Parameters
        ----------
        frame_name: str
            The frame name to return faces for. This should be the base name of the frame, not the
            full path

        Returns
        -------
        list
            The list of face dictionaries that appear within the requested frame_name
        """
        logger.trace("Getting faces for frame_name: '%s'", frame_name)
        return self._data.get(frame_name, dict()).get("faces", [])

    def _count_faces_in_frame(self, frame_name):
        """ Return number of faces that appear within :attr:`data` for the given frame_name.

        Parameters
        ----------
        frame_name: str
            The frame name to return the count for. This should be the base name of the frame, not
            the full path

        Returns
        -------
        int
            The number of faces that appear in the given frame_name
        """
        retval = len(self._data.get(frame_name, dict()).get("faces", [])) </s> remove     def frame_exists(self, frame):
        """ return path of images that have faces """
        retval = frame in self.data.keys()
        logger.trace("'%s': %s", frame, retval)
 </s> add     def frame_exists(self, frame_name):
        """ Check whether a given frame_name exists within the alignments :attr:`data`.

        Parameters
        ----------
        frame_name: str
            The frame name to check. This should be the base name of the frame, not the full path

        Returns
        -------
        bool
            ``True`` if the given frame_name exists within the alignments :attr:`data`
            otherwise ``False``
        """
        retval = frame_name in self._data.keys()
        logger.trace("'%s': %s", frame_name, retval)
            The mask type to check against the current alignments :attr:`data`
  
          Parameters
          ----------
          mask_type: str
            The mask type to check against the current alignments :attr:`data`
  
          Returns
          -------
          bool:
              ``True`` if all faces in the current alignments possess the given ``mask_type``
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