1111
1212
1313class ThreeScaleClient :
14- def __init__ (self , url : str , token : str ,
15- throws : bool = True , ssl_verify : bool = True , wait : int = - 1 ):
14+ def __init__ (self , url : str , token : str , throws : bool = True , ssl_verify : bool = True , wait : int = - 1 ):
1615 """Creates instance of the 3scale client
1716 Args:
1817 url: 3scale instance url
@@ -25,40 +24,37 @@ def __init__(self, url: str, token: str,
2524 self ._rest = RestApiClient (url = url , token = token , throws = throws , ssl_verify = ssl_verify )
2625 self ._services = resources .Services (self , instance_klass = resources .Service )
2726 self ._accounts = resources .Accounts (self , instance_klass = resources .Account )
28- self ._provider_accounts = \
29- resources . ProviderAccounts ( self , instance_klass = resources .ProviderAccount )
30- self . _provider_account_users = \
31- resources . ProviderAccountUsers ( self , instance_klass = resources . ProviderAccountUser )
27+ self ._provider_accounts = resources . ProviderAccounts ( self , instance_klass = resources . ProviderAccount )
28+ self . _provider_account_users = resources .ProviderAccountUsers (
29+ self , instance_klass = resources . ProviderAccountUser
30+ )
3231 self ._methods = resources .Methods (self , instance_klass = resources .Method )
3332 self ._metrics = resources .Metrics (self , instance_klass = resources .Metric )
3433 self ._analytics = resources .Analytics (self )
3534 self ._tenants = resources .Tenants (self , instance_klass = resources .Tenant )
3635 self ._providers = resources .Providers (self , instance_klass = resources .Provider )
37- self ._access_tokens = \
38- resources .AccessTokens (self , instance_klass = resources .AccessToken )
36+ self ._access_tokens = resources .AccessTokens (self , instance_klass = resources .AccessToken )
3937 self ._active_docs = resources .ActiveDocs (self , instance_klass = resources .ActiveDoc )
40- self ._application_plans = \
41- resources .ApplicationPlans (self , instance_klass = resources .ApplicationPlan )
38+ self ._application_plans = resources .ApplicationPlans (self , instance_klass = resources .ApplicationPlan )
4239 self ._account_plans = resources .AccountPlans (self , instance_klass = resources .AccountPlan )
4340 self ._settings = resources .SettingsClient (self )
4441 self ._admin_portal_auth_providers = resources .AdminPortalAuthProviders (
45- self , instance_klass = resources .AdminPortalAuthProvider )
42+ self , instance_klass = resources .AdminPortalAuthProvider
43+ )
4644 self ._dev_portal_auth_providers = resources .DevPortalAuthProviders (
47- self , instance_klass = resources .DevPortalAuthProvider )
48- self . _policy_registry = resources . PoliciesRegistry ( self ,
49- instance_klass = resources .PolicyRegistry )
45+ self , instance_klass = resources .DevPortalAuthProvider
46+ )
47+ self . _policy_registry = resources . PoliciesRegistry ( self , instance_klass = resources .PolicyRegistry )
5048 self ._backends = resources .Backends (self , instance_klass = resources .Backend )
5149 self ._webhooks = resources .Webhooks (self )
5250 self ._invoices = resources .Invoices (self , instance_klass = resources .Invoice )
53- self ._fields_definitions = \
54- resources .FieldsDefinitions (self , instance_klass = resources .FieldsDefinition )
51+ self ._fields_definitions = resources .FieldsDefinitions (self , instance_klass = resources .FieldsDefinition )
5552 self ._cms_files = resources .CmsFiles (self , instance_klass = resources .CmsFile )
5653 self ._cms_sections = resources .CmsSections (self , instance_klass = resources .CmsSection )
5754 self ._cms_pages = resources .CmsPages (self , instance_klass = resources .CmsPage )
5855 self ._cms_builtin_pages = resources .CmsBuiltinPages (self , instance_klass = resources .CmsPage )
5956 self ._cms_layouts = resources .CmsLayouts (self , instance_klass = resources .CmsLayout )
60- self ._cms_builtin_partials = \
61- resources .CmsBuiltinPartials (self , instance_klass = resources .CmsPartial )
57+ self ._cms_builtin_partials = resources .CmsBuiltinPartials (self , instance_klass = resources .CmsPartial )
6258 self ._cms_partials = resources .CmsPartials (self , instance_klass = resources .CmsPartial )
6359
6460 if wait >= 0 :
@@ -68,8 +64,7 @@ def __init__(self, url: str, token: str,
6864 # here to mitigate the problem. This requires proper fix in checks
6965 time .sleep (wait )
7066
71- @backoff .on_predicate (
72- backoff .constant , lambda ready : not ready , interval = 6 , max_tries = 90 , jitter = None )
67+ @backoff .on_predicate (backoff .constant , lambda ready : not ready , interval = 6 , max_tries = 90 , jitter = None )
7368 def wait_for_tenant (self ) -> bool :
7469 """
7570 When True is returned, there is some chance the tenant is actually ready.
@@ -78,13 +73,15 @@ def wait_for_tenant(self) -> bool:
7873 # ultimate readiness check. There might be duplicates though, so
7974 # worth to review it one day
8075 try :
81- return self .account_plans .exists (throws = True ) \
82- and len (self .account_plans .fetch ()["plans" ]) >= 1 \
83- and len (self .account_plans .list ()) >= 1 \
84- and self .accounts .exists (throws = True ) \
85- and len (self .accounts .list ()) >= 1 \
86- and self .services .exists (throws = True ) \
76+ return (
77+ self .account_plans .exists (throws = True )
78+ and len (self .account_plans .fetch ()["plans" ]) >= 1
79+ and len (self .account_plans .list ()) >= 1
80+ and self .accounts .exists (throws = True )
81+ and len (self .accounts .list ()) >= 1
82+ and self .services .exists (throws = True )
8783 and len (self .services .list ()) >= 1
84+ )
8885 except errors .ApiClientError as err :
8986 if err .code in (404 , 409 , 503 ):
9087 log .info ("wait_for_tenant failed: %s" , err )
@@ -95,21 +92,21 @@ def wait_for_tenant(self) -> bool:
9592 return False
9693
9794 @property
98- def rest (self ) -> ' RestApiClient' :
95+ def rest (self ) -> " RestApiClient" :
9996 """Get REST api client instance
10097 Returns(RestApiClient): Rest api client instance
10198 """
10299 return self ._rest
103100
104101 @property
105- def parent (self ) -> ' ThreeScaleClient' :
102+ def parent (self ) -> " ThreeScaleClient" :
106103 """Parent is self - the 3scale client
107104 Returns(ThreeScaleClient):
108105 """
109106 return self
110107
111108 @property
112- def threescale_client (self ) -> ' ThreeScaleClient' :
109+ def threescale_client (self ) -> " ThreeScaleClient" :
113110 """3scale client instance
114111 Returns(ThreeScaleClient): 3scale client instance
115112 """
@@ -124,7 +121,7 @@ def url(self) -> str:
124121
125122 @property
126123 def url_with_token (self ) -> str :
127- return self .rest .url .replace ('//' , f"//{ self .rest ._token } @" )
124+ return self .rest .url .replace ("//" , f"//{ self .rest ._token } @" )
128125
129126 @property
130127 def token (self ) -> str :
@@ -314,15 +311,15 @@ def __init__(self, url: str, token: str, throws: bool = True, ssl_verify: bool =
314311 self ._token = token
315312 self ._throws = throws
316313 self ._ssl_verify = ssl_verify
317- log .debug ("[REST] New instance: %s token=%s throws=%s ssl=%s" , url , token , throws ,
318- ssl_verify )
314+ log .debug ("[REST] New instance: %s token=%s throws=%s ssl=%s" , url , token , throws , ssl_verify )
319315
320316 @property
321317 def url (self ) -> str :
322318 return self ._url
323319
324- def request (self , method = 'GET' , url = None , path = '' , params : dict = None ,
325- headers : dict = None , throws = None , ** kwargs ):
320+ def request (
321+ self , method = "GET" , url = None , path = "" , params : dict = None , headers : dict = None , throws = None , ** kwargs
322+ ):
326323 """Create new request
327324 Args:
328325 method(str): method to be used to create an request
@@ -336,36 +333,36 @@ def request(self, method='GET', url=None, path='', params: dict = None,
336333 Returns:
337334
338335 """
339- if ' resource' in kwargs :
340- del kwargs [' resource' ]
336+ if " resource" in kwargs :
337+ del kwargs [" resource" ]
341338 full_url = url if url else urljoin (self .url , path )
342339 full_url = full_url + ".json"
343340 headers = headers or {}
344341 params = params or {}
345342 if throws is None :
346343 throws = self ._throws
347344 params .update (access_token = self ._token )
348- log .debug ("[%s] (%s) params={%s} headers={%s} %s" , method , full_url , params , headers ,
349- kwargs if kwargs else '' )
350- response = requests . request ( method = method , url = full_url , headers = headers ,
351- params = params , verify = self . _ssl_verify , ** kwargs )
345+ log .debug ("[%s] (%s) params={%s} headers={%s} %s" , method , full_url , params , headers , kwargs if kwargs else "" )
346+ response = requests . request (
347+ method = method , url = full_url , headers = headers , params = params , verify = self . _ssl_verify , ** kwargs
348+ )
352349 process_response = self ._process_response (response , throws = throws )
353350 return process_response
354351
355352 def get (self , * args , ** kwargs ):
356- return self .request (' GET' , * args , ** kwargs )
353+ return self .request (" GET" , * args , ** kwargs )
357354
358355 def post (self , * args , ** kwargs ):
359- return self .request (' POST' , * args , ** kwargs )
356+ return self .request (" POST" , * args , ** kwargs )
360357
361358 def put (self , * args , ** kwargs ):
362- return self .request (' PUT' , * args , ** kwargs )
359+ return self .request (" PUT" , * args , ** kwargs )
363360
364361 def delete (self , * args , ** kwargs ):
365- return self .request (' DELETE' , * args , ** kwargs )
362+ return self .request (" DELETE" , * args , ** kwargs )
366363
367364 def patch (self , * args , ** kwargs ):
368- return self .request (' PATCH' , * args , ** kwargs )
365+ return self .request (" PATCH" , * args , ** kwargs )
369366
370367 @classmethod
371368 def _process_response (cls , response : requests .Response , throws = None ) -> requests .Response :
0 commit comments