diff --git a/bigbluebutton_api_python/bigbluebutton.py b/bigbluebutton_api_python/bigbluebutton.py index 02b31a5..52d79f0 100644 --- a/bigbluebutton_api_python/bigbluebutton.py +++ b/bigbluebutton_api_python/bigbluebutton.py @@ -19,14 +19,13 @@ from jxmlease import parse from hashlib import sha1 if sys.version_info[0] == 2: - from urllib import urlencode, urlopen + from urllib import urlencode, urlopen, Request from urllib import quote else: - from urllib.request import urlopen + from urllib.request import Request, urlopen from urllib.parse import urlencode from urllib.request import quote - class BigBlueButton: def __init__(self, bbbServerBaseUrl, securitySalt): @@ -134,7 +133,11 @@ def __send_api_request(self, api_call, params={}, data=None): if data is None: response = urlopen(url, timeout=10).read() else: - response = urlopen(url, timeout=10, data=urlencode(data).encode()).read() + if isinstance(data, str): + request = Request(url, data=bytes(data, "utf8"), headers={'Content-Type': 'application/xml'}) + response = urlopen(request, timeout=10).read() + else: + response = urlopen(url, timeout=10, data=urlencode(data).encode()).read() try: rawXml = parse(response)["response"] diff --git a/bigbluebutton_api_python/parameters/bbbmodule.py b/bigbluebutton_api_python/parameters/bbbmodule.py index 20df5e2..489503e 100644 --- a/bigbluebutton_api_python/parameters/bbbmodule.py +++ b/bigbluebutton_api_python/parameters/bbbmodule.py @@ -14,7 +14,7 @@ def __init__(self): def add_slide(self, type, value, name = None): if type == self.URL: self.__urls.append(value) - elif type == self.files: + elif type == self.FILE: self.__files.append(value) elif type == self.base64s: self.__base64s.append([name, value]) @@ -45,5 +45,7 @@ def __slides_to_xml(self): with open(single_file, 'r') as f: xml += base64.encodestring(f.read()) xml += "" + + xml += "" - return xml \ No newline at end of file + return xml