mirror of
https://github.com/linux-system-roles/network.git
synced 2026-07-22 02:36:11 +00:00
library/trivial: move code around
Have the base types of ArgValidator classes closer together.
This commit is contained in:
parent
9b8a46e3e3
commit
936c9b908e
1 changed files with 40 additions and 40 deletions
|
|
@ -517,46 +517,6 @@ class ArgValidatorBool(ArgValidator):
|
|||
pass
|
||||
raise ValidationError(name, 'must be an boolean but is "%s"' % (value))
|
||||
|
||||
class ArgValidatorIP(ArgValidatorStr):
|
||||
def __init__(self, name, family = None, required = False, default_value = None, plain_address = True):
|
||||
ArgValidatorStr.__init__(self, name, required, default_value, None)
|
||||
self.family = family
|
||||
self.plain_address = plain_address
|
||||
def _validate(self, value, name):
|
||||
v = ArgValidatorStr._validate(self, value, name)
|
||||
try:
|
||||
addr, family = Util.parse_ip(v, self.family)
|
||||
except:
|
||||
raise ValidationError(name, 'value "%s" is not a valid IP%s address' % (value, Util.addr_family_to_v(self.family)))
|
||||
if self.plain_address:
|
||||
return addr
|
||||
return { 'is_v4': family == socket.AF_INET, 'family': family, 'address': addr }
|
||||
|
||||
class ArgValidatorMac(ArgValidatorStr):
|
||||
def __init__(self, name, force_len = None, required = False, default_value = None):
|
||||
ArgValidatorStr.__init__(self, name, required, default_value, None)
|
||||
self.force_len = force_len
|
||||
def _validate(self, value, name):
|
||||
v = ArgValidatorStr._validate(self, value, name)
|
||||
try:
|
||||
addr = Util.mac_aton(v, self.force_len)
|
||||
except MyError as e:
|
||||
raise ValidationError(name, 'value "%s" is not a valid MAC address' % (value))
|
||||
if not addr:
|
||||
raise ValidationError(name, 'value "%s" is not a valid MAC address' % (value))
|
||||
return Util.mac_ntoa(addr)
|
||||
|
||||
class ArgValidatorIPAddr(ArgValidatorStr):
|
||||
def __init__(self, name, family = None, required = False, default_value = None):
|
||||
ArgValidatorStr.__init__(self, name, required, default_value, None)
|
||||
self.family = family
|
||||
def _validate(self, value, name):
|
||||
v = ArgValidatorStr._validate(self, value, name)
|
||||
try:
|
||||
return Util.parse_address(v, self.family)
|
||||
except:
|
||||
raise ValidationError(name, 'value "%s" is not a valid IP%s address with prefix length' % (value, Util.addr_family_to_v(self.family)))
|
||||
|
||||
class ArgValidatorDict(ArgValidator):
|
||||
def __init__(self, name = None, required = False, nested = None, default_value = None, all_missing_during_validate = False):
|
||||
ArgValidator.__init__(self, name, required, default_value)
|
||||
|
|
@ -617,6 +577,46 @@ class ArgValidatorList(ArgValidator):
|
|||
result.append(vv)
|
||||
return result
|
||||
|
||||
class ArgValidatorIP(ArgValidatorStr):
|
||||
def __init__(self, name, family = None, required = False, default_value = None, plain_address = True):
|
||||
ArgValidatorStr.__init__(self, name, required, default_value, None)
|
||||
self.family = family
|
||||
self.plain_address = plain_address
|
||||
def _validate(self, value, name):
|
||||
v = ArgValidatorStr._validate(self, value, name)
|
||||
try:
|
||||
addr, family = Util.parse_ip(v, self.family)
|
||||
except:
|
||||
raise ValidationError(name, 'value "%s" is not a valid IP%s address' % (value, Util.addr_family_to_v(self.family)))
|
||||
if self.plain_address:
|
||||
return addr
|
||||
return { 'is_v4': family == socket.AF_INET, 'family': family, 'address': addr }
|
||||
|
||||
class ArgValidatorMac(ArgValidatorStr):
|
||||
def __init__(self, name, force_len = None, required = False, default_value = None):
|
||||
ArgValidatorStr.__init__(self, name, required, default_value, None)
|
||||
self.force_len = force_len
|
||||
def _validate(self, value, name):
|
||||
v = ArgValidatorStr._validate(self, value, name)
|
||||
try:
|
||||
addr = Util.mac_aton(v, self.force_len)
|
||||
except MyError as e:
|
||||
raise ValidationError(name, 'value "%s" is not a valid MAC address' % (value))
|
||||
if not addr:
|
||||
raise ValidationError(name, 'value "%s" is not a valid MAC address' % (value))
|
||||
return Util.mac_ntoa(addr)
|
||||
|
||||
class ArgValidatorIPAddr(ArgValidatorStr):
|
||||
def __init__(self, name, family = None, required = False, default_value = None):
|
||||
ArgValidatorStr.__init__(self, name, required, default_value, None)
|
||||
self.family = family
|
||||
def _validate(self, value, name):
|
||||
v = ArgValidatorStr._validate(self, value, name)
|
||||
try:
|
||||
return Util.parse_address(v, self.family)
|
||||
except:
|
||||
raise ValidationError(name, 'value "%s" is not a valid IP%s address with prefix length' % (value, Util.addr_family_to_v(self.family)))
|
||||
|
||||
class ArgValidator_DictIP(ArgValidatorDict):
|
||||
def __init__(self):
|
||||
ArgValidatorDict.__init__(self,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue