Skip to content
This repository was archived by the owner on Mar 13, 2022. It is now read-only.

Commit 62565de

Browse files
committed
code review refactoring
1 parent 720425c commit 62565de

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

dynamic/client.py

+26-26
Original file line numberDiff line numberDiff line change
@@ -169,39 +169,41 @@ def patch(self, resource, body=None, name=None, namespace=None, **kwargs):
169169
if resource.namespaced:
170170
namespace = self.ensure_namespace(resource, namespace, body)
171171

172-
path = resource.path(name=name, namespace=namespace, **kwargs)
172+
path = resource.path(name=name, namespace=namespace)
173173

174174
content_type = self.client.\
175175
select_header_content_type(['application/json-patch+json', 'application/merge-patch+json', 'application/strategic-merge-patch+json'])
176176

177-
return self.request('patch', path, body=body, content_type=content_type)
178-
177+
return self.request('patch', path, body=body, content_type=content_type, **kwargs)
178+
179+
def extract_query_params(self, params):
180+
valid_params = {
181+
'watch': 'watch',
182+
'limit': 'limit',
183+
'pretty': 'pretty',
184+
'_continue': 'continue',
185+
'field_selector': 'fieldSelector',
186+
'label_selector': 'labelSelector',
187+
'timeout_seconds': 'timeoutSeconds',
188+
'resource_version': 'resourceVersion',
189+
'orphan_dependents': 'orphanDependents',
190+
'propagation_policy': 'propagationPolicy',
191+
'grace_period_seconds': 'gracePeriodSeconds',
192+
'include_uninitialized': 'includeUninitialized',
193+
}
194+
return [
195+
(query_param, params[name])
196+
for name, query_param in valid_params.items() if params.get(name)
197+
]
179198

180199
def request(self, method, path, body=None, **params):
181200

182201
if not path.startswith('/'):
183202
path = '/' + path
184203

185204
path_params = params.get('path_params', {})
186-
query_params = params.get('query_params', [])
187-
if params.get('pretty'):
188-
query_params.append(('pretty', params['pretty']))
189-
if params.get('_continue'):
190-
query_params.append(('continue', params['_continue']))
191-
if params.get('include_uninitialized'):
192-
query_params.append(('includeUninitialized', params['include_uninitialized']))
193-
if params.get('field_selector'):
194-
query_params.append(('fieldSelector', params['field_selector']))
195-
if params.get('label_selector'):
196-
query_params.append(('labelSelector', params['label_selector']))
197-
if params.get('limit'):
198-
query_params.append(('limit', params['limit']))
199-
if params.get('resource_version'):
200-
query_params.append(('resourceVersion', params['resource_version']))
201-
if params.get('timeout_seconds'):
202-
query_params.append(('timeoutSeconds', params['timeout_seconds']))
203-
if params.get('watch'):
204-
query_params.append(('watch', params['watch']))
205+
query_params = self.extract_query_params(params)
206+
query_params.extend(params.get('query_params', []))
205207

206208
header_params = params.get('header_params', {})
207209
form_params = []
@@ -268,9 +270,7 @@ def __init__(self, prefix=None, group=None, api_version=None, kind=None,
268270

269271
@property
270272
def group_version(self):
271-
if self.group:
272-
return '{}/{}'.format(self.group, self.api_version)
273-
return self.api_version
273+
return '/'.join(filter(None, [self.group, self.api_version]))
274274

275275
def __repr__(self):
276276
return '<{}({}/{}>)'.format(self.__class__.__name__, self.group_version, self.name)
@@ -372,7 +372,7 @@ def search(self, **kwargs):
372372
kind: The kind of the resource
373373
arbitrary arguments (see below), in random order
374374
375-
The arbitrary arguments can be any valid attribute for a kubernetes.dynamic.Resource object
375+
The arbitrary arguments can be any valid attribute for a Resource object
376376
"""
377377
return self.__search(self.__build_search(**kwargs), self.__resources)
378378

0 commit comments

Comments
 (0)