From ca9af3e157b1acc5802282df02dfc28500e98495 Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Tue, 27 Sep 2016 14:42:23 -0700 Subject: [PATCH] dns.name.to_text() should return text. [Issue #209] --- dns/name.py | 10 +++++----- tests/test_name.py | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/dns/name.py b/dns/name.py index 758a394c..af99e443 100644 --- a/dns/name.py +++ b/dns/name.py @@ -35,7 +35,7 @@ except ImportError: import dns.exception import dns.wiredata -from ._compat import long, binary_type, text_type, unichr +from ._compat import long, binary_type, text_type, unichr, maybe_decode try: maxint = sys.maxint @@ -466,7 +466,7 @@ class Name(object): return '' def __str__(self): - return self.to_text(False).decode() + return self.to_text(False) def to_text(self, omit_final_dot=False): """Convert name to text format. @@ -476,15 +476,15 @@ class Name(object): """ if len(self.labels) == 0: - return b'@' + return maybe_decode(b'@') if len(self.labels) == 1 and self.labels[0] == b'': - return b'.' + return maybe_decode(b'.') if omit_final_dot and self.is_absolute(): l = self.labels[:-1] else: l = self.labels s = b'.'.join(map(_escapify, l)) - return s + return maybe_decode(s) def to_unicode(self, omit_final_dot=False, idna_codec=None): """Convert name to Unicode text format. diff --git a/tests/test_name.py b/tests/test_name.py index b9ddd816..999e5e47 100644 --- a/tests/test_name.py +++ b/tests/test_name.py @@ -207,45 +207,45 @@ class NameTestCase(unittest.TestCase): def testToText1(self): n = dns.name.from_text('FOO.bar', origin=self.origin) t = n.to_text() - self.assertEqual(t, b'FOO.bar.example.') + self.assertEqual(t, 'FOO.bar.example.') def testToText2(self): n = dns.name.from_text('FOO.bar', origin=self.origin) t = n.to_text(True) - self.assertEqual(t, b'FOO.bar.example') + self.assertEqual(t, 'FOO.bar.example') def testToText3(self): n = dns.name.from_text('FOO.bar', origin=None) t = n.to_text() - self.assertEqual(t, b'FOO.bar') + self.assertEqual(t, 'FOO.bar') def testToText4(self): t = dns.name.empty.to_text() - self.assertEqual(t, b'@') + self.assertEqual(t, '@') def testToText5(self): t = dns.name.root.to_text() - self.assertEqual(t, b'.') + self.assertEqual(t, '.') def testToText6(self): n = dns.name.from_text('FOO bar', origin=None) t = n.to_text() - self.assertEqual(t, br'FOO\032bar') + self.assertEqual(t, r'FOO\032bar') def testToText7(self): n = dns.name.from_text(r'FOO\.bar', origin=None) t = n.to_text() - self.assertEqual(t, b'FOO\.bar') + self.assertEqual(t, 'FOO\.bar') def testToText8(self): n = dns.name.from_text(r'\070OO\.bar', origin=None) t = n.to_text() - self.assertEqual(t, b'FOO\.bar') + self.assertEqual(t, 'FOO\.bar') def testToText9(self): n = dns.name.from_text('FOO bar', origin=None) t = n.to_unicode() - self.assertEqual(t, r'FOO\032bar') + self.assertEqual(t, 'FOO\\032bar') def testToText10(self): t = dns.name.empty.to_unicode() -- 2.47.3