Up until now, importing an SPDK RPC python module was just a matter of `import rpc`. It's fine until there's another module called `rpc` installed on the system, in which case it's impossible to import both of them. Therefore, to avoid this problem, all of the modules were moved to a separate directory under the "spdk" namespace. The decision to move to a location under a separate directory was motivated by the fact that a directory called scripts/spdk would look pretty confusing. Moreover, it should make it also easier to package these scripts as a python package. Other than moving the packages, all of the imports were updated to reflect these changes. Files under python now use relative imports, while those under scripts/ use the "spdk" namespace and have their PYTHONPATH extended with python directory. Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ib43dee73921d590a551dd83885e22870e72451cf Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9692 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
32 lines
785 B
Python
32 lines
785 B
Python
args_global = ['server_addr', 'port', 'timeout', 'verbose', 'dry_run', 'conn_retries',
|
|
'is_server', 'rpc_plugin', 'called_rpc_name', 'func', 'client']
|
|
|
|
|
|
def strip_globals(kwargs):
|
|
for arg in args_global:
|
|
kwargs.pop(arg, None)
|
|
|
|
|
|
def remove_null(kwargs):
|
|
keys = []
|
|
for key, value in kwargs.items():
|
|
if value is None:
|
|
keys.append(key)
|
|
|
|
for key in keys:
|
|
kwargs.pop(key, None)
|
|
|
|
|
|
def apply_defaults(kwargs, **defaults):
|
|
for key, value in defaults.items():
|
|
if key not in kwargs:
|
|
kwargs[key] = value
|
|
|
|
|
|
def group_as(kwargs, name, values):
|
|
group = {}
|
|
for arg in values:
|
|
if arg in kwargs and kwargs[arg] is not None:
|
|
group[arg] = kwargs.pop(arg, None)
|
|
kwargs[name] = group
|