diff --git a/examples/cpf_digit.py b/examples/cpf_digit.py index 50dbca9..e33b513 100644 --- a/examples/cpf_digit.py +++ b/examples/cpf_digit.py @@ -7,4 +7,4 @@ input_df = pd.DataFrame({"cpf": ["53154432770", "22222224122"]}) -print(rule.execute(input_df)) \ No newline at end of file +print(rule.execute(input_df)) diff --git a/pyproject.toml b/pyproject.toml index d51a752..d221549 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "retrack" -version = "2.3.2" +version = "2.4.0" description = "A business rules engine" authors = ["Gabriel Guarisa ", "Nathalia Trotte "] license = "MIT" diff --git a/retrack/engine/request_manager.py b/retrack/engine/request_manager.py index ba4528f..62959cb 100644 --- a/retrack/engine/request_manager.py +++ b/retrack/engine/request_manager.py @@ -46,7 +46,7 @@ def inputs(self, inputs: typing.List[BaseNode]): for i in range(len(inputs)): if not isinstance(inputs[i], BaseNode): raise TypeError( - f"inputs[{i}] must be a dict or an InputModel, not {type(inputs[i])}" + f"inputs[{i}] must be an InputModel, not {type(inputs[i])}" ) if inputs[i].kind() != NodeKind.INPUT: diff --git a/retrack/nodes/__init__.py b/retrack/nodes/__init__.py index 59563d5..edcfd3e 100644 --- a/retrack/nodes/__init__.py +++ b/retrack/nodes/__init__.py @@ -1,6 +1,6 @@ from retrack.nodes.base import BaseNode from retrack.nodes.check import Check -from retrack.nodes.connectors import BaseConnector, VirtualConnector +from retrack.nodes.connectors import BaseConnector from retrack.nodes.constants import Bool, Constant, IntervalCatV0, List from retrack.nodes.contains import Contains from retrack.nodes.datetime import CurrentYear @@ -27,11 +27,9 @@ def registry() -> Registry: _registry = Registry() _registry.register("Input", Input) + _registry.register("Connector", BaseConnector) # By default, Connector is an Input _registry.register( - "Connector", VirtualConnector - ) # By default, Connector is an Input - _registry.register( - "ConnectorV0", VirtualConnector + "ConnectorV0", BaseConnector ) # By default, Connector is an Input _registry.register("Start", Start) _registry.register("Constant", Constant) diff --git a/retrack/nodes/connectors.py b/retrack/nodes/connectors.py index ad232b3..80ddbc2 100644 --- a/retrack/nodes/connectors.py +++ b/retrack/nodes/connectors.py @@ -9,19 +9,11 @@ class ConnectorMetadataModel(InputMetadataModel): identifier: str -class VirtualConnector(Input): +class BaseConnector(Input): + data: ConnectorMetadataModel + def kind(self) -> NodeKind: return NodeKind.CONNECTOR def generate_input_nodes(self) -> typing.List[Input]: return [Input(**self.model_dump(by_alias=True))] - - -class BaseConnector(VirtualConnector): - data: ConnectorMetadataModel - - def generate_input_nodes(self) -> typing.List[Input]: - raise NotImplementedError() - - def run(self, **kwargs): # Keep the kwargs in the signature - raise NotImplementedError() diff --git a/retrack/nodes/getchar.py b/retrack/nodes/getchar.py index 457e76b..64dee88 100644 --- a/retrack/nodes/getchar.py +++ b/retrack/nodes/getchar.py @@ -27,4 +27,6 @@ def run( self, input_value: pd.Series, ) -> typing.Dict[str, pd.Series]: - return {"output_value": input_value.apply(lambda x: str(x)[self.data.index - 1])} + return { + "output_value": input_value.apply(lambda x: str(x)[self.data.index - 1]) + } diff --git a/tests/test_nodes/test_connectors.py b/tests/test_nodes/test_connectors.py index cd8d67d..3531ec1 100644 --- a/tests/test_nodes/test_connectors.py +++ b/tests/test_nodes/test_connectors.py @@ -34,6 +34,3 @@ def test_create_base_connector(connector_dict): assert connector.data.default == "Hello World" assert connector.data.service == "example_service" assert connector.data.identifier == "example_identifier" - - with pytest.raises(NotImplementedError): - _ = connector.generate_input_nodes()