          if not self.have_alignments_file and (skip_existing or skip_faces):
              logger.warning("Skip Existing/Skip Faces selected, but no alignments file found!")
              return data
  
          data = self.serializer.load(self.file)
  
          if skip_faces:
              # Remove items from alignments that have no faces so they will
              # be re-detected
              del_keys = [key for key, val in data.items() if not val]
 
</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) </s> remove             filter_out=True: Remove faces that match in the hash list
            filter_out=False: Remove faces that are not in the hash list
 </s> add         Parameters
        ----------
        hash_list: list
            List of SHA1 hashes in `str` format to use as a filter against :attr:`data`
        filter_out: bool, optional
            ``True`` if faces should be removed from :attr:`data` when there is a corresponding
            match in the given hash_list. ``False`` if faces should be kept in :attr:`data` when
            there is a corresponding match in the given hash_list, but removed if there is no
            match. Default: ``False`` </s> remove                          self.serializer.file_extension)
 </s> add                          self._serializer.file_extension) </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                                 "{}".format(self.file))
 </s> add                                 "{}".format(self._file))
        data = self._serializer.load(self.file)
          if not self.have_alignments_file and (skip_existing or skip_faces):
              logger.warning("Skip Existing/Skip Faces selected, but no alignments file found!")
              return data
  
        data = self._serializer.load(self.file)
  
          if skip_faces:
              # Remove items from alignments that have no faces so they will
              # be re-detected
              del_keys = [key for key, val in data.items() if not val]
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 
scripts/fsmedia.py