code: def hash_folder(folder, regex='[!_]*'):
      
      file_hashes = {}
      for path in glob.glob(os.path.join(folder, regex)):
          # exclude folders
          if not os.path.isfile(path):
              continue
  
          with open(path, 'r') as fileP:
              md5_hash = hashlib.md5(fileP.read()).digest()
  
          file_name = os.path.basename(path)
          file_hashes[file_name] = urlsafe_b64encode(md5_hash)
      return file_hashes
docs: Get the md5 sum of each file in the folder and return to the user
  
      :param folder: the folder to compute the sums over
      :param regex: an expression to limit the files we match
      :return:
  
      Note: by default we will hash every file in the folder
  
      Note: we will not match anything that starts with an underscore