code: def get_hashes(path, exclude=None):
      '''
      Get a dictionary of file paths and timestamps.
  
      Paths matching `exclude` regex will be excluded.
      '''
      out = {}
      for f in Path(path).rglob('*'):
          if f.is_dir():
              # We want to watch files, not directories.
              continue
          if exclude and re.match(exclude, f.as_posix()):
              retox_log.debug("excluding '{}'".format(f.as_posix()))
              continue
          pytime = f.stat().st_mtime
          out[f.as_posix()] = pytime
      return ouf get_hashes(path, exclude=None):
      '''
      Get a dictionary of file paths and timestamps.
  
      Paths matching `exclude` regex will be excluded.
      '''
      out = {}
      for f in Path(path).rglob('*'):
          if f.is_dir():
              # We want to watch files, not directories.
              continue
          if exclude and re.match(exclude, f.as_posix()):
              retox_log.debug("excluding '{}'".format(f.as_posix()))
              continue
          pytime = f.stat().st_mtime
          out[f.as_posix()] = pytime
      return out
docs: Get a dictionary of file paths and timestamps.
  
      Paths matching `exclude` regex will be excluded.