diff options
Diffstat (limited to 'ipalib/util.py')
-rw-r--r-- | ipalib/util.py | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/ipalib/util.py b/ipalib/util.py index 223422fe2..4a58d7fbc 100644 --- a/ipalib/util.py +++ b/ipalib/util.py @@ -59,67 +59,6 @@ def xmlrpc_unmarshal(*params): return (params[1:], kw) -def xmlrpc_wrap(value): - """ - Wrap all ``str`` in ``xmlrpclib.Binary``. - - Because ``xmlrpclib.dumps()`` will itself convert all ``unicode`` instances - into UTF-8 encoded ``str`` instances, we don't do it here. - - So in total, when encoding data for an XML-RPC request, the following - transformations occur: - - * All ``str`` instances are treated as binary data and are wrapped in - an ``xmlrpclib.Binary()`` instance. - - * Only ``unicode`` instances are treated as character data. They get - converted to UTF-8 encoded ``str`` instances (although as mentioned, - not by this function). - - Also see `xmlrpc_unwrap`. - """ - if type(value) in (list, tuple): - return tuple(xmlrpc_wrap(v) for v in value) - if type(value) is dict: - return dict( - (k, xmlrpc_wrap(v)) for (k, v) in value.iteritems() - ) - if type(value) is str: - return Binary(value) - assert type(value) in (unicode, int, float, bool, NoneType) - return value - - -def xmlrpc_unwrap(value, encoding='UTF-8'): - """ - Unwrap all ``xmlrpc.Binary``, decode all ``str`` into ``unicode``. - - When decoding data from an XML-RPC request, the following transformations - occur: - - * The binary payloads of all ``xmlrpclib.Binary`` instances are - returned as ``str`` instances. - - * All ``str`` instances are treated as UTF-8 encoded character data. - They are decoded and the resulting ``unicode`` instance is returned. - - Also see `xmlrpc_wrap`. - """ - if type(value) in (list, tuple): - return tuple(xmlrpc_unwrap(v, encoding) for v in value) - if type(value) is dict: - return dict( - (k, xmlrpc_unwrap(v, encoding)) for (k, v) in value.iteritems() - ) - if type(value) is str: - return value.decode(encoding) - if isinstance(value, Binary): - assert type(value.data) is str - return value.data - assert type(value) in (unicode, int, float, bool, NoneType) - return value - - def get_current_principal(): try: return krbV.default_context().default_ccache().principal().name |