@@ -261,13 +261,12 @@ async def index_files(self) -> dict[str, str]:
261261    def  filehash (body : str ) ->  str :
262262        return  hexdigest (body )
263263
264-     async  def  filecheck (self , filename : str , body : str  |  None  =  None ) ->  bool :
264+     async  def  filecheck (self , filename : str , body_filehash : str  |  None  =  None ) ->  bool :
265265        """Check if this index contains the filename and if the body's filehash matches.""" 
266-         filehash : str  |  None  =  self .filehash (body ) if  body  else  None 
267266        index_files  =  await  self .index_files 
268267        return  bool (
269268            index_files .get (filename )
270-             and  (filehash  is  None  or  index_files [filename ] ==  filehash )
269+             and  (body_filehash  is  None  or  index_files [filename ] ==  body_filehash )
271270        )
272271
273272    async  def  mark_failed_document (self , path : str  |  os .PathLike ) ->  None :
@@ -297,19 +296,20 @@ async def add_document(
297296            retry = retry_if_exception_type (AsyncRetryError ), 
298297        ) 
299298        async  def  _add_document () ->  None :
300-             if  not  await  self .filecheck (index_doc ["file_location" ], index_doc ["body" ]):
299+             body_filehash  =  self .filehash (index_doc ["body" ])
300+             if  not  await  self .filecheck (index_doc ["file_location" ], body_filehash ):
301301                try :
302302                    async  with  self .writer () as  writer :
303303                        # Let caller handle commit to allow for batching 
304304                        writer .add_document (Document .from_dict (index_doc ))
305305
306-                     filehash  =  self .filehash (index_doc ["body" ])
307-                     (await  self .index_files )[index_doc ["file_location" ]] =  filehash 
306+                     (await  self .index_files )[index_doc ["file_location" ]] =  body_filehash 
308307
309308                    if  document :
310309                        docs_index_dir  =  await  self .docs_index_directory 
311310                        async  with  await  anyio .open_file (
312-                             docs_index_dir  /  f"{ filehash } { self .storage .extension ()}  ,
311+                             docs_index_dir 
312+                             /  f"{ body_filehash } { self .storage .extension ()}  ,
313313                            "wb" ,
314314                        ) as  f :
315315                            await  f .write (self .storage .write_to_string (document ))
0 commit comments