def ip(cls, value, raise_exception=False):
""" IP address validation """
if cls.network(value):
value = NetTest.convert.string.cidr(value)
if value.endswith('/32'):
value = value.split('/')[0]
else:
return False
if not isinstance(value, basestring):
if raise_exception:
raise TypeError('Invalid type \'{}\''.format(type(value)))
return False
else:
value = unicode(value)
try:
ipaddress.IPv4Address(value)
except (ValueError, TypeError):
if raise_exception:
raise
return False
return True
评论列表
文章目录