From cf450f2157e9239a3863529dc83c166e5fb25ac4 Mon Sep 17 00:00:00 2001 From: Fabrice Baumann Date: Sat, 3 Feb 2018 14:17:15 -0500 Subject: [PATCH] Fix bug with MX records having mutiple values --- octodns/provider/ultra.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/octodns/provider/ultra.py b/octodns/provider/ultra.py index ef8be15..8063f9f 100644 --- a/octodns/provider/ultra.py +++ b/octodns/provider/ultra.py @@ -431,11 +431,12 @@ class UltraProvider(BaseProvider): def _data_for_MX(self, _type, records): values = [] for record in records: - preference, exchange = record['rdata'][0].split(' ') - values.append({ - 'preference': preference, - 'exchange': exchange, - }) + for value in record['rdata']: + preference, exchange = value.split(' ') + values.append({ + 'preference': preference, + 'exchange': exchange, + }) return { 'ttl': records[0]['ttl'], 'type': _type, @@ -547,7 +548,14 @@ class UltraProvider(BaseProvider): _params_for_AAAA = _params_for_multiple_ips _params_for_NS = _params_for_multiple _params_for_SPF = _params_for_multiple - _params_for_TXT = _params_for_multiple + + def _params_for_TXT(self, record): + yield { + 'ttl': record.ttl, + 'ownerName': record.name, + 'rrtype': record._type, + 'rdata': record.chunked_values + } def _params_for_CAA(self, record): yield {