def createStream(self, qi_stream): if qi_stream is None: return if not isinstance(qi_stream, QiStream): return conn = http.HTTPConnection(self.url) conn.request("POST", self.__streamsBase, qi_stream.toString(), self.__qi_headers()) response = conn.getresponse() if response.status == 302: url = urlparse(response.getheader("Location")) response.close() conn.request("GET", url.path, headers=self.__qi_headers()) response = conn.getresponse() if response.status == 200 or response.status == 201: stream = QiStream.fromString(response.read().decode()) conn.close() return stream else: conn.close() raise QiError( "Failed to create QiStream, {stream_id}. {status}:{reason}". format(stream_id=qi_stream.Id, status=response.status, reason=response.reason))
def createStream(self, qi_stream): if qi_stream is None: return if not isinstance(qi_stream, QiStream): return conn = http.HTTPConnection(self.url) conn.request("POST", "/qi/streams", qi_stream.toString(), self.__qi_headers()) response = conn.getresponse() if response.status == 302: url = urlparse(response.getheader("Location")) response.close() conn.request("GET", url.path, headers = self.__qi_headers()) response = conn.getresponse() if response.status == 200 or response.status == 201: stream = QiStream.fromString(response.read().decode()) conn.close() return stream else: conn.close() raise QiError("Failed to create QiStream, {stream_id}. {status}:{reason}". format(stream_id = qi_stream.Id, status = response.status, reason = response.reason))