Skip to content

Commit 245e360

Browse files
authored
✨ allow passing a webhook to the CLI (#444)
1 parent b275ae5 commit 245e360

7 files changed

Lines changed: 25 additions & 6 deletions

File tree

mindee/v2/commands/base_inference_command.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,15 @@ def register(self, subparsers: _SubParsersAction) -> ArgumentParser:
7878
"- raw: full JSON object\n"
7979
),
8080
)
81+
parser.add_argument(
82+
"-w",
83+
"--webhook-id",
84+
dest="webhook_ids",
85+
action="append",
86+
help="Specify a webhook by ID. May be used multiple times.",
87+
required=False,
88+
default=None,
89+
)
8190
self.configure_product_options(parser)
8291
parser.add_argument("path", help="The path of the file to parse.")
8392
return parser
@@ -98,13 +107,14 @@ def execute(
98107
"""Run the inference for ``parsed_args`` using ``client_factory``."""
99108
api_key = getattr(parsed_args, "api_key", None)
100109
model_id = parsed_args.model_id
110+
webhook_ids = getattr(parsed_args, "webhook_ids", None)
101111
alias = getattr(parsed_args, "alias", None)
102112
output_type = OutputType(
103113
getattr(parsed_args, "output", OutputType.SUMMARY.value)
104114
)
105115

106116
client = client_factory(api_key)
107-
params = self.build_parameters(parsed_args, model_id, alias)
117+
params = self.build_parameters(parsed_args, model_id, alias, webhook_ids)
108118
input_source = _build_input_source(parsed_args.path)
109119
response: (
110120
ExtractionResponse
@@ -126,6 +136,7 @@ def build_parameters(
126136
parsed_args: Namespace,
127137
model_id: str,
128138
alias: str | None,
139+
webhook_ids: list[str] | None,
129140
) -> BaseParameters:
130141
"""Build the V2 inference parameters for this product."""
131142

mindee/v2/commands/classification_command.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ def build_parameters(
1919
parsed_args: Namespace,
2020
model_id: str,
2121
alias: str | None,
22+
webhook_ids: list[str] | None,
2223
) -> BaseParameters:
2324
del parsed_args
24-
return ClassificationParameters(model_id=model_id, alias=alias)
25+
return ClassificationParameters(
26+
model_id=model_id, alias=alias, webhook_ids=webhook_ids
27+
)

mindee/v2/commands/crop_command.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def build_parameters(
1919
parsed_args: Namespace,
2020
model_id: str,
2121
alias: str | None,
22+
webhook_ids: list[str] | None,
2223
) -> BaseParameters:
2324
del parsed_args
24-
return CropParameters(model_id=model_id, alias=alias)
25+
return CropParameters(model_id=model_id, alias=alias, webhook_ids=webhook_ids)

mindee/v2/commands/extraction_command.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ def build_parameters(
6464
parsed_args: Namespace,
6565
model_id: str,
6666
alias: str | None,
67+
webhook_ids: list[str] | None,
6768
) -> BaseParameters:
6869
return ExtractionParameters(
6970
model_id=model_id,
@@ -73,6 +74,7 @@ def build_parameters(
7374
polygon=True if getattr(parsed_args, "polygon", False) else None,
7475
confidence=(True if getattr(parsed_args, "confidence", False) else None),
7576
text_context=getattr(parsed_args, "text_context", None),
77+
webhook_ids=webhook_ids,
7678
)
7779

7880
def get_full_output(self, parsed_args: Namespace, response) -> str:

mindee/v2/commands/ocr_command.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def build_parameters(
1919
parsed_args: Namespace,
2020
model_id: str,
2121
alias: str | None,
22+
webhook_ids: list[str] | None,
2223
) -> BaseParameters:
2324
del parsed_args
24-
return OCRParameters(model_id=model_id, alias=alias)
25+
return OCRParameters(model_id=model_id, alias=alias, webhook_ids=webhook_ids)

mindee/v2/commands/split_command.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def build_parameters(
1919
parsed_args: Namespace,
2020
model_id: str,
2121
alias: str | None,
22+
webhook_ids: list[str] | None,
2223
) -> BaseParameters:
2324
del parsed_args
24-
return SplitParameters(model_id=model_id, alias=alias)
25+
return SplitParameters(model_id=model_id, alias=alias, webhook_ids=webhook_ids)

tests/test_v2_cli.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ run_test() {
2828
model_type="$2"
2929

3030
echo "--- Test $model_type ID: $model_id"
31-
SUMMARY_OUTPUT=$("$PYTHON_BIN" -m mindee "$model_type" -m "$model_id" "$TEST_FILE")
31+
SUMMARY_OUTPUT=$("$PYTHON_BIN" -m mindee "$model_type" -m "$model_id" -a "python-sdk-cli-${model_type}" "$TEST_FILE")
3232
echo "$SUMMARY_OUTPUT"
3333
echo ""
3434
echo ""

0 commit comments

Comments
 (0)