mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-16 21:10:10 +00:00
32 lines
887 B
Python
32 lines
887 B
Python
|
|
#!/usr/bin/env python3
|
||
|
|
#
|
||
|
|
# Copyright 2018 Ettus Research, a National Instruments Company
|
||
|
|
#
|
||
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||
|
|
#
|
||
|
|
"""
|
||
|
|
Implements decorators and utility functions to be used with the RPC server
|
||
|
|
"""
|
||
|
|
|
||
|
|
def no_claim(func):
|
||
|
|
" Decorator for functions that require no token check "
|
||
|
|
func._notok = True
|
||
|
|
return func
|
||
|
|
|
||
|
|
def no_rpc(func):
|
||
|
|
" Decorator for functions that should not be exposed via RPC "
|
||
|
|
func._norpc = True
|
||
|
|
return func
|
||
|
|
|
||
|
|
def get_map_for_rpc(map, log):
|
||
|
|
"""
|
||
|
|
ensure the map contains only string values otherwise it cannot be
|
||
|
|
casted to std::map<string, string> in C++
|
||
|
|
# TODO reconsider the workaround once we transition away from mprpc
|
||
|
|
"""
|
||
|
|
for key, value in map.items():
|
||
|
|
if value is None:
|
||
|
|
log.warning('casting parameter "{}" from None to "n/a"'.format(key))
|
||
|
|
map[key] = "n/a"
|
||
|
|
return map
|