Skip to content

Commit 47fb8e8

Browse files
Update gcsfs/core.py
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent 1e82cf0 commit 47fb8e8

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

gcsfs/core.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,22 +1091,20 @@ async def _info(self, path, generation=None, **kwargs):
10911091
while tasks:
10921092
done, _ = await asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED)
10931093

1094-
if exact_task in done:
1095-
tasks.remove(exact_task)
1096-
try:
1097-
exact_res = exact_task.result()
1098-
if not _is_directory_marker(exact_res):
1099-
# It's a file! Return immediately and cancel dir
1094+
for task in done:
1095+
if task is exact_task:
1096+
try:
1097+
exact_res = task.result()
1098+
if not _is_directory_marker(exact_res):
1099+
# It's a file! Return immediately and cancel dir
1100+
dir_task.cancel()
1101+
return exact_res
1102+
except FileNotFoundError:
1103+
pass
1104+
except Exception as e:
11001105
dir_task.cancel()
1101-
return exact_res
1102-
except FileNotFoundError:
1103-
pass
1104-
except Exception as e:
1105-
dir_task.cancel()
1106-
raise e
1107-
1108-
if dir_task in done:
1109-
tasks.remove(dir_task)
1106+
raise e
1107+
tasks.remove(task)
11101108

11111109
# Both tasks finished. exact was either a directory marker or FileNotFoundError.
11121110
# Fallback to dir_task result (success or raise Exception).

0 commit comments

Comments
 (0)