1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright (C) 2021 Intel Corporation. 3# All rights reserved. 4 5args_global = ['server_addr', 'port', 'timeout', 'verbose', 'dry_run', 'conn_retries', 6 'is_server', 'rpc_plugin', 'called_rpc_name', 'func', 'client', 'go_client'] 7 8 9def strip_globals(kwargs): 10 for arg in args_global: 11 kwargs.pop(arg, None) 12 13 14def remove_null(kwargs): 15 keys = [] 16 for key, value in kwargs.items(): 17 if value is None: 18 keys.append(key) 19 20 for key in keys: 21 kwargs.pop(key, None) 22 23 24def apply_defaults(kwargs, **defaults): 25 for key, value in defaults.items(): 26 if key not in kwargs: 27 kwargs[key] = value 28 29 30def group_as(kwargs, name, values): 31 group = {} 32 for arg in values: 33 if arg in kwargs and kwargs[arg] is not None: 34 group[arg] = kwargs.pop(arg, None) 35 kwargs[name] = group 36