Skip to content

Commit

Permalink
🔄 synced local 'skyvern/' with remote 'skyvern/'
Browse files Browse the repository at this point in the history
<!-- ELLIPSIS_HIDDEN -->

> [!IMPORTANT]
> Update `SendEmailBlock` to log a warning for missing files or directories instead of raising an error, ensuring smoother email sending.
>
>   - **Behavior**:
>     - Update `_get_file_paths` in `SendEmailBlock` to log a warning if a file or directory is missing instead of raising an error.
>     - Handles paths that are URLs or S3 URIs separately, ensuring they are added to `file_paths` if valid.
>   - **Logging**:
>     - Adds a warning log for missing files or directories in `_get_file_paths`.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=Skyvern-AI%2Fskyvern-cloud&utm_source=github&utm_medium=referral)<sup> for 6b1c5b609f14f473b80586c2b212f5b12ceac486. It will automatically update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->
  • Loading branch information
ykeremy committed Oct 2, 2024
1 parent f9da9f6 commit f2d619c
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions skyvern/forge/sdk/workflow/models/block.py
Original file line number Diff line number Diff line change
Expand Up @@ -868,16 +868,27 @@ def _get_file_paths(self, workflow_run_context: WorkflowRunContext, workflow_run
)

# if the file path is a directory, add all files in the directory, skip directories, limit to 10 files
if os.path.exists(path) and os.path.isdir(path):
for file in os.listdir(path):
if os.path.isdir(os.path.join(path, file)):
LOG.warning("SendEmailBlock: Skipping directory", file=file)
continue
file_path = os.path.join(path, file)
file_paths.append(file_path)
else:
# covers the case where the file path is a single file, a url, or an S3 uri
if os.path.exists(path):
if os.path.isdir(path):
for file in os.listdir(path):
if os.path.isdir(os.path.join(path, file)):
LOG.warning("SendEmailBlock: Skipping directory", file=file)
continue
file_path = os.path.join(path, file)
file_paths.append(file_path)
else:
# covers the case where the file path is a single file
file_paths.append(path)
# check if path is a url, or an S3 uri
elif (
path.startswith("http://")
or path.startswith("https://")
or path.startswith("s3://")
or path.startswith("www.")
):
file_paths.append(path)
else:
LOG.warning("SendEmailBlock: File not found", file_path=path)

return file_paths

Expand Down

0 comments on commit f2d619c

Please sign in to comment.