code: def add_dir_entry(backup_run, dir_entry_path, process_bar, result):
      
      # print(dir_entry_path.pformat())
      # print(dir_entry_path.stat.st_nlink)
  
      backup_entry = Path2(dir_entry_path.path)
      filesize = dir_entry_path.stat.st_size
      hash_filepath = Path2("%s%s%s" % (backup_entry.path, os.extsep, phlb_config.hash_name))
      if hash_filepath.is_file():
          with hash_filepath.open("r") as hash_file:
              hash_hexdigest = hash_file.read().strip()
          if filesize > 0:
              process_bar.update(filesize)
      else:
          with hash_filepath.open("w") as hash_file:
              callback = HashCallback(process_bar)
              with backup_entry.open("rb") as f:
                  hash = calculate_hash(f, callback)
  
              hash_hexdigest = hash.hexdigest()
              hash_file.write(hash_hexdigest)
  
      old_backup_entry = deduplicate(backup_entry, hash_hexdigest)
      if old_backup_entry is None:
          result.add_new_file(filesize)
      else:
          result.add_stined_file(filesize)
  
      BackupEntry.objects.create(
          backup_run, dir_entry_path.path_instance, hash_hexdigest=hash_hexdigest  # Path2() instance
      )
docs: :param backup_run:
      :param dir_entry_path: filesystem_walk.DirEntryPath() instance
      :param process_bar: