From 7ebd69218fe6b089b609a44824a986800982da0a Mon Sep 17 00:00:00 2001 From: Calum Lind Date: Wed, 23 Nov 2016 11:04:04 +0000 Subject: [PATCH] [Common] Fix is_ipv6 when using ipaddress module * The ipaddress module require unicode string for 'packed' addresses. * Also include minor corrections to the tests. --- deluge/common.py | 2 +- deluge/tests/test_common.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/deluge/common.py b/deluge/common.py index ccb8945b9..b26a3d269 100644 --- a/deluge/common.py +++ b/deluge/common.py @@ -792,7 +792,7 @@ def is_ipv6(ip): return True else: try: - return ipaddress.IPv6Address(ip) + return ipaddress.IPv6Address(decode_string(ip)) except ipaddress.AddressValueError: pass diff --git a/deluge/tests/test_common.py b/deluge/tests/test_common.py index fc6bee8e2..b7e813a0f 100644 --- a/deluge/tests/test_common.py +++ b/deluge/tests/test_common.py @@ -3,7 +3,7 @@ import os from twisted.trial import unittest from deluge.common import (VersionSplit, fdate, fpcnt, fpeer, fsize, fspeed, ftime, get_path_size, is_infohash, is_ip, - is_magnet, is_url) + is_ipv4, is_ipv6, is_magnet, is_url) from deluge.ui.util import lang @@ -74,12 +74,12 @@ class CommonTestCase(unittest.TestCase): self.failIf(is_ip('2001:db8:')) def test_is_ipv4(self): - self.failUnless(is_ip('192.0.2.0')) - self.failIf(is_ip('192..0.0')) + self.failUnless(is_ipv4('192.0.2.0')) + self.failIf(is_ipv4('192..0.0')) def test_is_ipv6(self): - self.failUnless(is_ip('2001:db8::')) - self.failIf(is_ip('2001:db8:')) + self.failUnless(is_ipv6('2001:db8::')) + self.failIf(is_ipv6('2001:db8:')) def test_version_split(self): self.failUnless(VersionSplit('1.2.2') == VersionSplit('1.2.2'))