  
  def get_image_paths(directory, exclude=list(), debug=False):
      """ Return a list of images that reside in a folder """
      image_extensions = [".jpg", ".jpeg", ".png", ".tif", ".tiff"]
      exclude_names = [basename(Path(x).stem[:-2] + Path(x).suffix) for x in exclude]
      dir_contents = list()
  
      if not exists(directory):
          directory = get_folder(directory)
  
 
</s> remove         if self.have_alignments():
 </s> add         if self.have_alignments_file: </s> remove         if not self.alignments.have_alignments():
 </s> add         if not self.alignments.have_alignments_file: </s> remove 
    def have_alignments(self):
        """ Check if an alignments file exists """
        alignfile = self.get_alignments_path()
        return os.path.exists(alignfile)
 </s> add  </s> remove             with open(alignfile, self.serializer.roptions) as align:
 </s> add             with open(self.alignments_path, self.serializer.roptions) as align:
    exclude_names = [basename(Path(x).stem[:Path(x).stem.rfind('_')] +
        Path(x).suffix) for x in exclude]
  
  def get_image_paths(directory, exclude=list(), debug=False):
      """ Return a list of images that reside in a folder """
      image_extensions = [".jpg", ".jpeg", ".png", ".tif", ".tiff"]
    exclude_names = [basename(Path(x).stem[:Path(x).stem.rfind('_')] +
        Path(x).suffix) for x in exclude]
      dir_contents = list()
  
      if not exists(directory):
          directory = get_folder(directory)
  
keep keep keep keep replace keep keep keep keep keep
 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 
lib/utils.py