From 948fd7bf361eeb973fdcaff7a900dbc54f41472c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 14 Nov 2017 16:22:36 +0100 Subject: [PATCH] library: derive ArgValidatorIPAddr from ArgValidator instead of ArgValidatorStr Next we will hack it up, to also support dictionary input arguments. --- library/network_connections.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/library/network_connections.py b/library/network_connections.py index b12ac40..b8f1421 100755 --- a/library/network_connections.py +++ b/library/network_connections.py @@ -606,12 +606,16 @@ class ArgValidatorMac(ArgValidatorStr): raise ValidationError(name, 'value "%s" is not a valid MAC address' % (value)) return Util.mac_ntoa(addr) -class ArgValidatorIPAddr(ArgValidatorStr): +class ArgValidatorIPAddr(ArgValidator): def __init__(self, name, family = None, required = False, default_value = None): - ArgValidatorStr.__init__(self, name, required, default_value, None) + ArgValidator.__init__(self, name, required, default_value) self.family = family def _validate(self, value, name): - v = ArgValidatorStr._validate(self, value, name) + if not isinstance(value, Util.STRING_TYPE): + raise ValidationError(name, 'must be a string but is "%s"' % (value)) + v = str(value) + if not v: + raise ValidationError(name, 'cannot be empty') try: return Util.parse_address(v, self.family) except: