From f26f77fcaec9257a6d3066818f45f07c2176b4e2 Mon Sep 17 00:00:00 2001 From: Terrence Cole Date: Wed, 2 Aug 2017 16:58:13 -0700 Subject: [PATCH] Force keys to be unicode. --- octodns/provider/rackspace.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/octodns/provider/rackspace.py b/octodns/provider/rackspace.py index a856295..c593150 100644 --- a/octodns/provider/rackspace.py +++ b/octodns/provider/rackspace.py @@ -146,8 +146,16 @@ class RackspaceProvider(BaseProvider): return self._request('DELETE', path, data=data) @staticmethod - def _key_for_record(rs_record): - return rs_record['type'], rs_record['name'], rs_record['data'] + def _as_unicode(s, codec): + if not isinstance(s, unicode): + return unicode(s, codec) + return s + + @classmethod + def _key_for_record(cls, rs_record): + return cls._as_unicode(rs_record['type'], 'ascii'),\ + cls._as_unicode(rs_record['name'], 'utf-8'),\ + cls._as_unicode(rs_record['data'], 'utf-8'),\ def _data_for_multiple(self, rrset): # TODO: geo not supported