  
      def process(self):
          """ Execute the sort process """
          logger.info("[SORT INDEXES]")  # Tidy up cli output
          self.check_legacy()
          reindexed = self.reindex_faces()
          if reindexed:
              self.alignments.save()
          if self.faces:
              rename = Rename(self.alignments, None, self.faces)
 
</s> remove         legacy = Legacy(self.alignments, None, faces=faces, child_process=True)
        legacy.process()
 </s> add  </s> remove     def check_legacy(self):
        """ Legacy rotated alignments will not have the correct x, y
            positions. Faces without hashes won't process.
            Check for these and generate a warning and exit """
        rotated = self.alignments.get_legacy_rotation()
        hashes = self.alignments.get_legacy_no_hashes()
        if rotated or hashes:
            logger.error("Legacy alignments found. Sort cannot continue. You should run legacy "
                         "tool to update the file prior to running sort: 'python tools.py "
                         "alignments -j legacy -a <alignments_file> -fr <frames_folder> -fc "
                         "<faces_folder>'")
            exit(0)

 </s> add  </s> remove         if self.type == "faces":
            legacy = Legacy(self.alignments, None, faces=self.items, child_process=True)
            legacy.process()

 </s> add  </s> remove         legacy = Legacy(self.alignments, None, frames=self.frames, child_process=True)
        legacy.process()

 </s> add  </s> remove         legacy = Legacy(self.alignments, self.arguments,
                        frames=self.frames, child_process=True)
        legacy.process()

 </s> add 
  
      def process(self):
          """ Execute the sort process """
          logger.info("[SORT INDEXES]")  # Tidy up cli output

          reindexed = self.reindex_faces()
          if reindexed:
              self.alignments.save()
          if self.faces:
              rename = Rename(self.alignments, None, self.faces)
keep keep keep keep replace keep keep keep keep keep
 Legacy alignments update

- Remove legacy update hashes
- Remove legacy job from alignment-tools
- Remove legacy landmark rotation
- Add rotate face method to plugins/extract/detect
- Update travis test for new alignments extension
- Alignments format to .fsa
- Remove serializer option from alignments-tool
- Auto update legacy format alignment files to new format 
tools/lib_alignments/jobs.py