1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

f-strings for SelectelProvider

This commit is contained in:
Ross McFarland
2021-09-04 18:14:28 -07:00
parent 58b2dc1696
commit 059bb5dbbc

View File

@@ -39,7 +39,7 @@ class SelectelProvider(BaseProvider):
API_URL = 'https://api.selectel.ru/domains/v1'
def __init__(self, id, token, *args, **kwargs):
self.log = getLogger('SelectelProvider[{}]'.format(id))
self.log = getLogger(f'SelectelProvider[{id}]')
self.log.debug('__init__: id=%s', id)
super(SelectelProvider, self).__init__(id, *args, **kwargs)
@@ -55,7 +55,7 @@ class SelectelProvider(BaseProvider):
def _request(self, method, path, params=None, data=None):
self.log.debug('_request: method=%s, path=%s', method, path)
url = '{}{}'.format(self.API_URL, path)
url = f'{self.API_URL}{path}'
resp = self._sess.request(method, url, params=params, json=data)
self.log.debug('_request: status=%s', resp.status_code)
@@ -69,7 +69,7 @@ class SelectelProvider(BaseProvider):
return resp.json()
def _get_total_count(self, path):
url = '{}{}'.format(self.API_URL, path)
url = f'{self.API_URL}{path}'
resp = self._sess.request('HEAD', url)
return int(resp.headers['X-Total-Count'])
@@ -101,12 +101,11 @@ class SelectelProvider(BaseProvider):
zone_name = desired.name[:-1]
for change in changes:
class_name = change.__class__.__name__
getattr(self, '_apply_{}'.format(class_name).lower())(zone_name,
change)
getattr(self, f'_apply_{class_name}'.lower())(zone_name, change)
def _apply_create(self, zone_name, change):
new = change.new
params_for = getattr(self, '_params_for_{}'.format(new._type))
params_for = getattr(self, f'_params_for_{new._type}')
for params in params_for(new):
self.create_record(zone_name, params)
@@ -178,7 +177,7 @@ class SelectelProvider(BaseProvider):
return {
'ttl': records[0]['ttl'],
'type': _type,
'values': ['{}.'.format(r['content']) for r in records],
'values': [f'{r["content"]}.' for r in records],
}
def _data_for_MX(self, _type, records):
@@ -186,7 +185,7 @@ class SelectelProvider(BaseProvider):
for record in records:
values.append({
'preference': record['priority'],
'exchange': '{}.'.format(record['content']),
'exchange': f'{record["content"]}.',
})
return {
'ttl': records[0]['ttl'],
@@ -199,7 +198,7 @@ class SelectelProvider(BaseProvider):
return {
'ttl': only['ttl'],
'type': _type,
'value': '{}.'.format(only['content'])
'value': f'{only["content"]}.',
}
def _data_for_TXT(self, _type, records):
@@ -216,7 +215,7 @@ class SelectelProvider(BaseProvider):
'priority': record['priority'],
'weight': record['weight'],
'port': record['port'],
'target': '{}.'.format(record['target']),
'target': f'{record["target"]}.',
})
return {
@@ -239,7 +238,7 @@ class SelectelProvider(BaseProvider):
values[name][record['type']].append(record)
for name, types in values.items():
for _type, records in types.items():
data_for = getattr(self, '_data_for_{}'.format(_type))
data_for = getattr(self, f'_data_for_{_type}')
data = data_for(_type, records)
record = Record.new(zone, name, data, source=self,
lenient=lenient)
@@ -260,7 +259,7 @@ class SelectelProvider(BaseProvider):
return domains
def zone_records(self, zone):
path = '/{}/records/'.format(zone.name[:-1])
path = f'/{zone.name[:-1]}/records/'
zone_records = []
total_count = self._get_total_count(path)
@@ -288,24 +287,24 @@ class SelectelProvider(BaseProvider):
else:
domain_id = self.create_domain(zone_name)['id']
path = '/{}/records/'.format(domain_id)
path = f'/{domain_id}/records/'
return self._request('POST', path, data=data)
def delete_record(self, domain, _type, zone):
self.log.debug('Delete record. Domain: %s, Type: %s', domain, _type)
domain_id = self._domain_list[domain]['id']
records = self._zone_records.get('{}.'.format(domain), False)
records = self._zone_records.get(f'{domain}.', False)
if not records:
path = '/{}/records/'.format(domain_id)
path = f'/{domain_id}/records/'
records = self._request('GET', path)
for record in records:
full_domain = domain
if zone:
full_domain = '{}{}'.format(zone, domain)
full_domain = f'{zone}{domain}'
if record['type'] == _type and record['name'] == full_domain:
path = '/{}/records/{}'.format(domain_id, record['id'])
path = f'/{domain_id}/records/{record["id"]}'
return self._request('DELETE', path)
self.log.debug('Delete record failed (Record not found)')