          """ Return true if frame exists and has faces """
          if not frame:
              retval = False
          else:
              retval = bool(len(self.data.get(frame, list())) > 1)
          logger.trace("'%s': %s", frame, retval)
          return retval
  
      def mask_is_valid(self, mask_type):
          """ Ensure the given ``mask_type`` is valid for this alignments file.
  
 
</s> remove     def frame_has_multiple_faces(self, frame):
        """ Return true if frame exists and has faces """
        if not frame:
 </s> add     def frame_has_multiple_faces(self, frame_name):
        """ Check whether a given frame_name exists within the alignments :attr:`data` and contains
        more than 1 face.

        Parameters
        ----------
        frame_name: str
            The frame_name 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` and has more
            than 1 face associated with it, otherwise ``False``
        """
        if not frame_name: </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 frame_has_faces(self, frame):
        """ Return true if frame exists and has faces """
        retval = bool(self.data.get(frame, list()))
        logger.trace("'%s': %s", frame, retval)
 </s> add     def frame_has_faces(self, frame_name):
        """ Check whether a given frame_name exists within the alignments :attr:`data` and contains
        at least 1 face.

        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` and has at
            least 1 face associated with it, otherwise ``False``
        """
        retval = bool(self._data.get(frame_name, dict()).get("faces", []))
        logger.trace("'%s': %s", frame_name, retval) </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) </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
            retval = bool(len(self._data.get(frame_name, dict()).get("faces", [])) > 1)
        logger.trace("'%s': %s", frame_name, retval)
          """ Return true if frame exists and has faces """
          if not frame:
              retval = False
          else:
            retval = bool(len(self._data.get(frame_name, dict()).get("faces", [])) > 1)
        logger.trace("'%s': %s", frame_name, retval)
            retval = bool(len(self._data.get(frame_name, dict()).get("faces", [])) > 1)
        logger.trace("'%s': %s", frame_name, retval)
          return retval
  
      def mask_is_valid(self, mask_type):
          """ Ensure the given ``mask_type`` is valid for this alignments file.
  
keep keep keep keep 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