From ee95a8ec0db110029b51c0399ed0f5a108eb2a6b Mon Sep 17 00:00:00 2001 From: Anand Chitipothu Date: Tue, 21 Oct 2008 16:31:54 +0530 Subject: [PATCH] fix validipaddr and validipport --- web/net.py | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/web/net.py b/web/net.py index 1e6bb8a8..efc0d43b 100644 --- a/web/net.py +++ b/web/net.py @@ -15,21 +15,40 @@ except ImportError: pass def validipaddr(address): - """returns True if `address` is a valid IPv4 address""" + """returns True if `address` is a valid IPv4 address. + + >>> validipaddr('192.168.1.1') + True + >>> validipaddr('192.168.1.800') + False + >>> validipaddr('192.168.1') + False + """ try: octets = address.split('.') - assert len(octets) == 4 + if len(octets) != 4: + return False for x in octets: - assert 0 <= int(x) <= 255 - except (AssertionError, ValueError): + if not (0 <= int(x) <= 255): + return False + except ValueError: return False return True def validipport(port): - """returns True if `port` is a valid IPv4 port""" + """returns True if `port` is a valid IPv4 port. + + >>> validipport('9000') + True + >>> validipport('foo') + False + >>> validipport('1000000') + False + """ try: - assert 0 <= int(port) <= 65535 - except (AssertionError, ValueError): + if not (0 <= int(port) <= 65535): + return False + except ValueError: return False return True