Skip to content

Commit 4ef1e32

Browse files
committed
fix bad merge in code originally from validators.py (guardrails-ai#427)
* fix bad merge in code originally from validators.py * lint fixes
1 parent 5d2321a commit 4ef1e32

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

guardrails/validator_base.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import inspect
12
from collections import defaultdict
23
from typing import Any, Callable, Dict, List, Literal, Optional, Type, Union
34

@@ -245,11 +246,14 @@ def to_xml_attrib(self):
245246
return self.rail_alias
246247

247248
validator_args = []
248-
for arg in self.__init__.__code__.co_varnames[1:]:
249+
init_args = inspect.getfullargspec(self.__init__)
250+
for arg in init_args.args[1:]:
249251
if arg not in ("on_fail", "args", "kwargs"):
250-
str_arg = str(self._kwargs[arg])
251-
str_arg = "{" + str_arg + "}" if " " in str_arg else str_arg
252-
validator_args.append(str_arg)
252+
arg_value = self._kwargs.get(arg)
253+
str_arg = str(arg_value)
254+
if str_arg is not None:
255+
str_arg = "{" + str_arg + "}" if " " in str_arg else str_arg
256+
validator_args.append(str_arg)
253257

254258
params = " ".join(validator_args)
255259
return f"{self.rail_alias}: {params}"

guardrails/validators.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import rstr
2020
from tenacity import retry, stop_after_attempt, wait_random_exponential
2121

22+
from guardrails.utils.casting_utils import to_int
2223
from guardrails.utils.docs_utils import get_chunks_from_text, sentence_split
2324
from guardrails.utils.sql_utils import SQLDriver, create_sql_driver
2425
from guardrails.utils.validator_utils import PROVENANCE_V1_PROMPT
@@ -277,8 +278,8 @@ def __init__(
277278
on_fail: Optional[Callable] = None,
278279
):
279280
super().__init__(on_fail=on_fail, min=min, max=max)
280-
self._min = int(min) if min is not None else None
281-
self._max = int(max) if max is not None else None
281+
self._min = to_int(min)
282+
self._max = to_int(max)
282283

283284
def validate(self, value: Union[str, List], metadata: Dict) -> ValidationResult:
284285
"""Validates that the length of value is within the expected range."""

0 commit comments

Comments
 (0)