                      faces_detected[key] = val
          else:
              print("Existing alignments file '%s' not found." % alignfile)
          return faces_detected
  
      def have_alignments(self):
          """ Check if an alignments file exists """
          alignfile = self.get_alignments_path()
          return os.path.exists(alignfile)
 
</s> remove         if self.have_alignments():
 </s> add         if self.have_alignments_file: </s> remove         alignfile = self.get_alignments_path()

 </s> add  </s> remove         alignfile = self.get_alignments_path()
 </s> add  </s> remove             faces_detected = self.load_skip_alignments(alignfile, faces_detected)
 </s> add             faces_detected = self.load_skip_alignments(self.alignments_path, faces_detected) </s> remove             with open(alignfile, self.serializer.roptions) as align:
 </s> add             with open(self.alignments_path, self.serializer.roptions) as align:
                      faces_detected[key] = val
          else:
              print("Existing alignments file '%s' not found." % alignfile)
          return faces_detected





keep keep keep keep replace replace replace replace replace
 Cli/Scripts Refactor (#374)

* Refactor for PEP 8 and split process function

* Remove backwards compatibility for skip frames

* Split optional functions into own class. Make functions more modular

* train.py - Fix write image bug. Make more modular

* convert.py: Extract alignments from frames if they don't exist

* BugFix: SkipExisting broken since face name refactor

* train.py - Semi-fix for hang on reaching target iteration. Now quits on preview mode
Make tensorflow / system warning less verbose

* Final bugfixes

* Add 'all' back in for selectable detectors

* Final minor tweaks 
scripts/fsmedia.py