Browse Source

Add support for TinyDNS AAAA records

pull/343/head
Andy Hawkins 7 years ago
parent
commit
a10cab351b
1 changed files with 18 additions and 1 deletions
  1. +18
    -1
      octodns/source/tinydns.py

+ 18
- 1
octodns/source/tinydns.py View File

@ -11,6 +11,7 @@ from os import listdir
from os.path import join from os.path import join
import logging import logging
import re import re
import textwrap
from ..record import Record from ..record import Record
from ..zone import DuplicateRecordException, SubzoneRecordException from ..zone import DuplicateRecordException, SubzoneRecordException
@ -20,7 +21,7 @@ from .base import BaseSource
class TinyDnsBaseSource(BaseSource): class TinyDnsBaseSource(BaseSource):
SUPPORTS_GEO = False SUPPORTS_GEO = False
SUPPORTS_DYNAMIC = False SUPPORTS_DYNAMIC = False
SUPPORTS = set(('A', 'CNAME', 'MX', 'NS', 'TXT'))
SUPPORTS = set(('A', 'CNAME', 'MX', 'NS', 'TXT', 'AAAA'))
split_re = re.compile(r':+') split_re = re.compile(r':+')
@ -45,6 +46,20 @@ class TinyDnsBaseSource(BaseSource):
'values': values, 'values': values,
} }
def _data_for_AAAA(self, _type, records):
values = []
for record in records:
values.append(u":".join(textwrap.wrap(record[0], 4)))
try:
ttl = records[0][1]
except IndexError:
ttl = self.default_ttl
return {
'ttl': ttl,
'type': _type,
'values': values,
}
def _data_for_TXT(self, _type, records): def _data_for_TXT(self, _type, records):
values = [] values = []
@ -121,6 +136,8 @@ class TinyDnsBaseSource(BaseSource):
'+': 'A', '+': 'A',
'@': 'MX', '@': 'MX',
'\'': 'TXT', '\'': 'TXT',
'3': 'AAAA',
'6': 'AAAA',
} }
name_re = re.compile(r'((?P<name>.+)\.)?{}$'.format(zone.name[:-1])) name_re = re.compile(r'((?P<name>.+)\.)?{}$'.format(zone.name[:-1]))


Loading…
Cancel
Save