docs: def _get_list_of_files(self,path):
          """
          Go through each subdirectory of `path`, and choose one file from each to use in our hash.
          Continue to increase self.iter, so we use a different 'slot' of randomness each time.
          """
          chosen_files = []
  
          # Get a list of all subdirectories
          directories = []
          for root, dirs, files in natsort.natsorted(os.walk(path, topdown=False)):
              for name in dirs:
                  if name[:1] is not '.':
                      directories.append(os.path.join(root, name))
                      directories = natsort.natsorted(directories)
  
          # Go through each directory in the list, and choose one file from each.
          # Add this file to our master list of robotparts.
          for directory in directories:
              files_in_dir = []
              for imagefile in natsort.natsorted(os.listdir(directory)):
                  files_in_dir.append(os.path.join(directory,imagefile))
                  files_in_dir = natsort.natsorted(files_in_dir)
  
              # Use some of our hash bits to choose which file
              element_in_list = self.hasharray[self.iter] % len(files_in_dir)
              chosen_files.append(files_in_dir[element_in_list])
              self.iter += 1
  
          return chosen_files