File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -275,21 +275,23 @@ def _load_local_metadata(self, rolename: str) -> bytes:
275275
276276 def _persist_metadata (self , rolename : str , data : bytes ) -> None :
277277 """Write metadata to disk atomically to avoid data loss."""
278+ temp_file_name : Optional [str ] = None
278279 try :
279280 # encode the rolename to avoid issues with e.g. path separators
280281 encoded_name = parse .quote (rolename , "" )
281282 filename = os .path .join (self ._dir , f"{ encoded_name } .json" )
282283 with tempfile .NamedTemporaryFile (
283284 dir = self ._dir , delete = False
284285 ) as temp_file :
286+ temp_file_name = temp_file .name
285287 temp_file .write (data )
286288 os .replace (temp_file .name , filename )
287289 except OSError as e :
288290 # remove tempfile if we managed to create one,
289291 # then let the exception happen
290- if temp_file :
292+ if temp_file_name is not None :
291293 try :
292- os .remove (temp_file . name )
294+ os .remove (temp_file_name )
293295 except FileNotFoundError :
294296 pass
295297 raise e
You can’t perform that action at this time.
0 commit comments