@@ -78,6 +78,7 @@ def __init__(self, user_id, key, project=None, auth_type=None, scopes=None, **kw
7878 self .auth_type = auth_type
7979 self .project = project
8080 self .scopes = scopes
81+
8182 if not self .project :
8283 raise ValueError ("Project name must be specified using " '"project" keyword.' )
8384 super ().__init__ (user_id , key , ** kwargs )
@@ -88,6 +89,7 @@ def iterate_zones(self):
8889
8990 :rtype: ``generator`` of :class:`Zone`
9091 """
92+
9193 return self ._get_more ("zones" )
9294
9395 def iterate_records (self , zone ):
@@ -99,6 +101,7 @@ def iterate_records(self, zone):
99101
100102 :rtype: ``generator`` of :class:`Record`
101103 """
104+
102105 return self ._get_more ("records" , zone = zone )
103106
104107 def get_zone (self , zone_id ):
@@ -147,6 +150,7 @@ def get_record(self, zone_id, record_id):
147150
148151 if len (response ["rrsets" ]) > 0 :
149152 zone = self .get_zone (zone_id )
153+
150154 return self ._to_record (response ["rrsets" ][0 ], zone )
151155
152156 raise RecordDoesNotExistError (value = "" , driver = self .connection .driver , record_id = record_id )
@@ -188,6 +192,7 @@ def create_zone(self, domain, type="master", ttl=None, extra=None):
188192
189193 request = "/managedZones"
190194 response = self .connection .request (request , method = "POST" , data = data ).object
195+
191196 return self ._to_zone (response )
192197
193198 def create_record (self , name , zone , type , data , extra = None ):
@@ -217,6 +222,7 @@ def create_record(self, name, zone, type, data, extra=None):
217222 data = {"additions" : [{"name" : name , "type" : type , "ttl" : int (ttl ), "rrdatas" : rrdatas }]}
218223 request = "/managedZones/%s/changes" % (zone .id )
219224 response = self .connection .request (request , method = "POST" , data = data ).object
225+
220226 return self ._to_record (response ["additions" ][0 ], zone )
221227
222228 def delete_zone (self , zone ):
@@ -232,6 +238,7 @@ def delete_zone(self, zone):
232238 """
233239 request = "/managedZones/%s" % (zone .id )
234240 response = self .connection .request (request , method = "DELETE" )
241+
235242 return response .success ()
236243
237244 def delete_record (self , record ):
@@ -255,6 +262,7 @@ def delete_record(self, record):
255262 }
256263 request = "/managedZones/%s/changes" % (record .zone .id )
257264 response = self .connection .request (request , method = "POST" , data = data )
265+
258266 return response .success ()
259267
260268 def ex_bulk_record_changes (self , zone , records ):
@@ -296,6 +304,7 @@ def ex_bulk_record_changes(self, zone, records):
296304 def _get_more (self , rtype , ** kwargs ):
297305 last_key = None
298306 exhausted = False
307+
299308 while not exhausted :
300309 items , last_key , exhausted = self ._get_data (rtype , last_key , ** kwargs )
301310 yield from items
@@ -315,6 +324,8 @@ def _get_data(self, rtype, last_key, **kwargs):
315324 request = "/managedZones/%s/rrsets" % (zone .id )
316325 transform_func = self ._to_records
317326 r_key = "rrsets"
327+ else :
328+ raise ValueError (f"Unsupported rtype: { rtype } " )
318329
319330 response = self .connection .request (
320331 request ,
@@ -326,6 +337,7 @@ def _get_data(self, rtype, last_key, **kwargs):
326337 nextpage = response .object .get ("nextPageToken" , None )
327338 items = transform_func (response .object .get (r_key ), ** kwargs )
328339 exhausted = False if nextpage is not None else True
340+
329341 return items , nextpage , exhausted
330342 else :
331343 return [], None , True
@@ -339,8 +351,10 @@ def _ex_connection_class_kwargs(self):
339351
340352 def _to_zones (self , response ):
341353 zones = []
354+
342355 for r in response :
343356 zones .append (self ._to_zone (r ))
357+
344358 return zones
345359
346360 def _to_zone (self , r ):
@@ -364,12 +378,15 @@ def _to_zone(self, r):
364378
365379 def _to_records (self , response , zone ):
366380 records = []
381+
367382 for r in response :
368383 records .append (self ._to_record (r , zone ))
384+
369385 return records
370386
371387 def _to_record (self , r , zone ):
372388 record_id = "{}:{}" .format (r ["type" ], r ["name" ])
389+
373390 return Record (
374391 id = record_id ,
375392 name = r ["name" ],
@@ -384,6 +401,8 @@ def _to_record(self, r, zone):
384401 def _cleanup_domain (self , domain ):
385402 # name can only contain lower case alphanumeric characters and hyphens
386403 domain = re .sub (r"[^a-zA-Z0-9-]" , "-" , domain )
404+
387405 if domain [- 1 ] == "-" :
388406 domain = domain [:- 1 ]
407+
389408 return domain
0 commit comments