add download block (#1266)

This commit is contained in:
LawyZheng
2024-11-26 23:36:22 +08:00
committed by GitHub
parent fcc83f6fe4
commit 7bc6ec8e46
3 changed files with 48 additions and 0 deletions

View File

@@ -77,6 +77,7 @@ class BlockType(StrEnum):
EXTRACTION = "extraction"
LOGIN = "login"
WAIT = "wait"
FILE_DOWNLOAD = "file_download"
class BlockStatus(StrEnum):
@@ -1348,6 +1349,10 @@ class LoginBlock(BaseTaskBlock):
block_type: Literal[BlockType.LOGIN] = BlockType.LOGIN
class FileDownloadBlock(BaseTaskBlock):
block_type: Literal[BlockType.FILE_DOWNLOAD] = BlockType.FILE_DOWNLOAD
BlockSubclasses = Union[
ForLoopBlock,
TaskBlock,
@@ -1363,5 +1368,6 @@ BlockSubclasses = Union[
ExtractionBlock,
LoginBlock,
WaitBlock,
FileDownloadBlock,
]
BlockTypeVar = Annotated[BlockSubclasses, Field(discriminator="block_type")]

View File

@@ -283,6 +283,22 @@ class WaitBlockYAML(BlockYAML):
wait_sec: int = 0
class FileDownloadBlockYAML(BlockYAML):
block_type: Literal[BlockType.FILE_DOWNLOAD] = BlockType.FILE_DOWNLOAD # type: ignore
navigation_goal: str
url: str | None = None
title: str = ""
error_code_mapping: dict[str, str] | None = None
max_retries: int = 0
max_steps_per_run: int | None = None
parameter_keys: list[str] | None = None
download_suffix: str | None = None
totp_verification_url: str | None = None
totp_identifier: str | None = None
cache_actions: bool = False
PARAMETER_YAML_SUBCLASSES = (
AWSSecretParameterYAML
| BitwardenLoginCredentialParameterYAML
@@ -309,6 +325,7 @@ BLOCK_YAML_SUBCLASSES = (
| ExtractionBlockYAML
| LoginBlockYAML
| WaitBlockYAML
| FileDownloadBlockYAML
)
BLOCK_YAML_TYPES = Annotated[BLOCK_YAML_SUBCLASSES, Field(discriminator="block_type")]