diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2014-11-30 02:14:57 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2014-11-30 02:14:57 +0100 |
commit | 0a9d6d4d762f0aee8d4cb78647402dccca8cc8b2 (patch) | |
tree | 683e528aed015e3361f2748907a8694a0609f2b5 /src/lib | |
parent | 85f24252097e162e400f2f96824c5d08bcea4fc2 (diff) | |
download | bcfg2-0a9d6d4d762f0aee8d4cb78647402dccca8cc8b2.tar.gz bcfg2-0a9d6d4d762f0aee8d4cb78647402dccca8cc8b2.tar.bz2 bcfg2-0a9d6d4d762f0aee8d4cb78647402dccca8cc8b2.zip |
Server/SSLServer: allow set as return value
xmlrpclib does not handle sets as return values. So we have to
convert it to a list before returning it.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Bcfg2/Server/SSLServer.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/SSLServer.py b/src/lib/Bcfg2/Server/SSLServer.py index 6ad5b5635..7672b539f 100644 --- a/src/lib/Bcfg2/Server/SSLServer.py +++ b/src/lib/Bcfg2/Server/SSLServer.py @@ -43,8 +43,10 @@ class XMLRPCDispatcher(SimpleXMLRPCServer.SimpleXMLRPCDispatcher): params = (address, ) + params response = self.instance._dispatch(method, params, self.funcs) # py3k compatibility - if type(response) not in [bool, str, list, dict]: + if type(response) not in [bool, str, list, dict, set]: response = (response.decode('utf-8'), ) + elif type(response) == set: + response = (list(response), ) else: response = (response, ) raw_response = xmlrpclib.dumps(response, methodresponse=True, |