Skip to content

Commit 63fd675

Browse files
committed
When filtering by name directly do it at API level.
1 parent e859d04 commit 63fd675

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

clouddns/connection.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,21 +162,26 @@ def retry_request():
162162
def get_domains(self):
163163
return DomainResults(self, self.list_domains_info())
164164

165-
def list_domains_info(self):
166-
response = self.make_request('GET', ['domains'])
165+
def list_domains_info(self, filter_by_name=None):
166+
parms = {}
167+
if filter_by_name:
168+
parms = { 'name' : filter_by_name}
169+
response = self.make_request('GET', ['domains'], parms=parms)
167170
if (response.status < 200) or (response.status > 299):
168171
response.read()
169172
raise ResponseError(response.status, response.reason)
170173
read_output = response.read()
171174
return json.loads(read_output)['domains']
172175

173176
def get_domain(self, id=None, **dico):
177+
filter_by_name = ""
174178
if id:
175179
dico['id'] = id
176180
if 'name' in dico:
177181
dico['name'] = dico['name'].lower()
182+
filter_by_name = dico['name']
178183

179-
domains = self.list_domains_info()
184+
domains = self.list_domains_info(filter_by_name=filter_by_name)
180185
for domain in domains:
181186
for k in dico:
182187
if k in domain and domain[k] == dico[k]:

0 commit comments

Comments
 (0)