mirror of
https://github.com/linux-system-roles/network.git
synced 2026-07-21 02:11:23 +00:00
library: derive ArgValidatorIPAddr from ArgValidator instead of ArgValidatorStr
Next we will hack it up, to also support dictionary input arguments.
This commit is contained in:
parent
936c9b908e
commit
948fd7bf36
1 changed files with 7 additions and 3 deletions
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue