      def __init__(self, alignments, frames):
          self.alignments = alignments
          self.frames = {os.path.basename(frame): frame
                         for frame in frames}
          self.process()
  
      def process(self):
          """ Run the rotate alignments process """
          no_dims = self.alignments.get_legacy_no_dims()
          rotated = self.alignments.get_legacy_rotation()
 
</s> remove     def process(self):
 </s> add     def process(self, faces_dir): </s> remove         self.child_process = child_process
        self.frames = frames
        if not frames:
 </s> add         if child_process:
            self.frames = frames
            self.faces = faces
        else: </s> remove         if not no_dims and not rotated:
 </s> add         hashes = self.alignments.get_legacy_no_hashes()
        if not no_dims and not rotated and not hashes: </s> remove         and remove the 'r' parameter """
    def __init__(self, alignments, frames):
 </s> add         and remove the 'r' parameter
        - Add face hashes to alignments file
        """
    def __init__(self, alignments, frames, faces_dir):
        self.process(faces_dir)
      def __init__(self, alignments, frames):
          self.alignments = alignments
          self.frames = {os.path.basename(frame): frame
                         for frame in frames}
        self.process(faces_dir)
  
      def process(self):
          """ Run the rotate alignments process """
          no_dims = self.alignments.get_legacy_no_dims()
          rotated = self.alignments.get_legacy_rotation()
keep keep keep keep replace keep keep keep keep keep
 Add Face Hashes to Alignments (#550)

* Convert main scripts to use face hashes

* Alignment tool: Use hashes, add logging, add face rename function

* More logging. Update Manual tool to work with hashing 
scripts/convert.py