# HG changeset patch # User Evgeni Kunev # Date 1408350339 -10800 # Node ID af839b9c0ed1538844e118eb362bac16979c15dd # Parent 0de2468a27e8e156e159cbc1205dad260b223a2b Add support for punycode TLDs diff -r 0de2468a27e8 -r af839b9c0ed1 test/test_nicclient.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/test_nicclient.py Mon Aug 18 11:25:39 2014 +0300 @@ -0,0 +1,17 @@ +# coding=utf-8 + +import unittest +from whois.whois import NICClient + + +class TestNICClient(unittest.TestCase): + def setUp(self): + self.client = NICClient() + + def test_choose_server(self): + domain = 'рнидс.срб' + chosen = self.client.choose_server(domain) + self.assertEqual( + chosen, + 'срб'.decode('utf-8').encode('idna') + '.whois-servers.net' + ) diff -r 0de2468a27e8 -r af839b9c0ed1 whois/whois.py --- a/whois/whois.py Fri Aug 15 17:11:52 2014 +0300 +++ b/whois/whois.py Mon Aug 18 11:25:39 2014 +0300 @@ -164,6 +164,8 @@ def choose_server(self, domain): """Choose initial lookup NIC host""" + if type(domain) is not unicode: + domain = domain.decode('utf-8').encode('idna') if (domain.endswith("-NORID")): return NICClient.NORIDHOST pos = domain.rfind('.')