          if not os.path.isfile(self.file):
              logger.debug("No alignments to back up")
              return
          now = datetime.now().strftime("%Y%m%d_%H%M%S")
          src = self.file
          split = os.path.splitext(src)
          dst = split[0] + "_" + now + split[1]
          logger.info("Backing up original alignments to '%s'", dst)
          os.rename(src, dst)
          logger.debug("Backed up alignments")
 
</s> remove         if not os.path.isfile(self.file):
 </s> add         if not os.path.isfile(self._file): </s> remove         """ Backup copy of old alignments """
 </s> add         """ Create a backup copy of the alignments :attr:`file`.

        Creates a copy of the serialized alignments :attr:`file` appending a
        timestamp onto the end of the file name and storing in the same folder as
        the original :attr:`file`.
        """ </s> remove     @property
    def mask_summary(self):
        """ Dict: The mask types and the number of faces which have each type that exist with in
        the loaded alignments """
        masks = dict()
        for faces in self.data.values():
            for face in faces:
                if face.get("mask", None) is None:
                    masks["none"] = masks.get("none", 0) + 1
                for key in face.get("mask", dict()):
                    masks[key] = masks.get(key, 0) + 1
        return masks

 </s> add  </s> remove             self.serializer = get_serializer("compressed")
            self.file = "{}.{}".format(filename.lower(), self.serializer.file_extension)
 </s> add             self._serializer = get_serializer("compressed")
            self.file = "{}.{}".format(filename.lower(), self._serializer.file_extension)
        src = self._file
          if not os.path.isfile(self.file):
              logger.debug("No alignments to back up")
              return
          now = datetime.now().strftime("%Y%m%d_%H%M%S")
        src = self._file
          split = os.path.splitext(src)
          dst = split[0] + "_" + now + split[1]
          logger.info("Backing up original alignments to '%s'", dst)
          os.rename(src, dst)
          logger.debug("Backed up alignments")
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