Browse Source

Merge pull request #299 from github/dnsimple-txt-semicolons

Fixes for DNSimple's TXT ; handling
pull/305/head
Ross McFarland 7 years ago
committed by GitHub
parent
commit
926f277662
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 3 deletions
  1. +18
    -2
      octodns/provider/dnsimple.py
  2. +1
    -1
      tests/fixtures/dnsimple-page-2.json

+ 18
- 2
octodns/provider/dnsimple.py View File

@ -112,7 +112,14 @@ class DnsimpleProvider(BaseProvider):
_data_for_A = _data_for_multiple
_data_for_AAAA = _data_for_multiple
_data_for_SPF = _data_for_multiple
_data_for_TXT = _data_for_multiple
def _data_for_TXT(self, _type, records):
return {
'ttl': records[0]['ttl'],
'type': _type,
# escape semicolons
'values': [r['content'].replace(';', '\\;') for r in records]
}
def _data_for_CAA(self, _type, records):
values = []
@ -290,7 +297,16 @@ class DnsimpleProvider(BaseProvider):
_params_for_AAAA = _params_for_multiple
_params_for_NS = _params_for_multiple
_params_for_SPF = _params_for_multiple
_params_for_TXT = _params_for_multiple
def _params_for_TXT(self, record):
for value in record.values:
yield {
# un-escape semicolons
'content': value.replace('\\', ''),
'name': record.name,
'ttl': record.ttl,
'type': record._type,
}
def _params_for_CAA(self, record):
for value in record.values:


+ 1
- 1
tests/fixtures/dnsimple-page-2.json View File

@ -133,7 +133,7 @@
"zone_id": "unit.tests",
"parent_id": null,
"name": "txt",
"content": "v=DKIM1\\;k=rsa\\;s=email\\;h=sha256\\;p=A/kinda+of/long/string+with+numb3rs",
"content": "v=DKIM1;k=rsa;s=email;h=sha256;p=A/kinda+of/long/string+with+numb3rs",
"ttl": 600,
"priority": null,
"type": "TXT",


Loading…
Cancel
Save