guan404ming commented on code in PR #62321:
URL: https://github.com/apache/airflow/pull/62321#discussion_r2896505871
##########
providers/imap/src/airflow/providers/imap/hooks/imap.py:
##########
@@ -310,11 +317,21 @@ def _correct_path(self, name: str,
local_output_directory: str) -> str:
else local_output_directory + "/" + name
)
- def _create_file(self, name: str, payload: Any, local_output_directory:
str) -> None:
- file_path = self._correct_path(name, local_output_directory)
-
- with open(file_path, "wb") as file:
- file.write(payload)
+ def _create_file(
+ self, name: str, payload: Any, local_output_directory: str,
overwrite_file: bool
+ ) -> None:
+ filename, extensions = name.split(".", 1)
+ counter = 1
+ method = "wb" if overwrite_file else "xb"
+ while True:
Review Comment:
The `filename, extension = os.path.splitext(name)` and `counter = 1` are
only set inside the else branch, but the while True loop and except
FileExistsError block reference them unconditionally. If `overwrite_file=True`
and a `FileExistsError` somehow occurs (shouldn't with "wb", but still), it
would raise UnboundLocalError.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]