diff options
-rw-r--r-- | rpkid/rpki/ipaddrs.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/rpkid/rpki/ipaddrs.py b/rpkid/rpki/ipaddrs.py index f387452d..58185cc1 100644 --- a/rpkid/rpki/ipaddrs.py +++ b/rpkid/rpki/ipaddrs.py @@ -104,3 +104,11 @@ class v6addr(long): def __str__(self): """Convert a v6addr object to string format.""" return socket.inet_ntop(socket.AF_INET6, self.to_bytes()) + +def parse(s): + """ + Parse a string as either an IPv4 or IPv6 address, and return object of appropriate class. + """ + if isinstance(s, unicode): + s = s.encode("ascii") + return v6addr(s) if ":" in s else v4addr(s) |