Browse Source

Transform @ in Digitalocean API output to zone name

pull/151/head
Adam Smith 8 years ago
parent
commit
ef8d66ff9c
2 changed files with 10 additions and 5 deletions
  1. +7
    -2
      octodns/provider/digitalocean.py
  2. +3
    -3
      tests/fixtures/digitalocean-page-2.json

+ 7
- 2
octodns/provider/digitalocean.py View File

@ -82,18 +82,23 @@ class DigitalOceanClient(object):
except KeyError:
break
# change any apex record to empty string to match other provider output
for record in ret:
# change any apex record to empty string
if record['name'] == '@':
record['name'] = ''
# change any apex value to zone name
if record['data'] == '@':
record['data'] = zone_name
return ret
def record_create(self, zone_name, params):
path = '/domains/{}/records'.format(zone_name)
# change empty string to @, DigitalOcean uses @ for apex record names
# change empty name string to @, DO uses @ for apex record names
if params['name'] == '':
params['name'] = '@'
self._request('POST', path, data=params)
def record_delete(self, zone_name, record_id):


+ 3
- 3
tests/fixtures/digitalocean-page-2.json View File

@ -25,7 +25,7 @@
"id": 11189891,
"type": "CNAME",
"name": "cname",
"data": "unit.tests",
"data": "@",
"priority": null,
"port": null,
"ttl": 300,
@ -69,7 +69,7 @@
"id": 11189895,
"type": "CNAME",
"name": "included",
"data": "unit.tests",
"data": "@",
"priority": null,
"port": null,
"ttl": 3600,
@ -86,4 +86,4 @@
"meta": {
"total": 21
}
}
}

Loading…
Cancel
Save