def getStreams(self, namespace_id, query="", skip=0, count=100): """Retrieves a list of streams associated with 'namespace_id' under the current tenant""" if namespace_id is None: raise TypeError if query is None: raise TypeError response = requests.get( self.__url + self.__getStreamsPath.format(tenant_id=self.__tenant, namespace_id=namespace_id, query=query, skip=skip, count=count), headers=self.__qiHeaders()) if response.status_code < 200 or response.status_code >= 300: response.close() raise QiError( "Failed to get all QiStreams. {status}:{reason}".format( status=response.status_code, reason=response.text)) content = json.loads(response.content) results = [] for item in content: results.append(QiStream.fromJson(item)) response.close() return results
def getStream(self, namespace_id, stream_id): """Retrieves a stream specified by 'stream_id' from the Qi Service""" if namespace_id is None: raise TypeError if stream_id is None: raise TypeError response = requests.get( self.__url + self.__streamsPath.format(tenant_id=self.__tenant, namespace_id=namespace_id, stream_id=stream_id), headers=self.__qiHeaders()) if response.status_code < 200 or response.status_code >= 300: response.close() raise QiError("Failed to get QiStream, {stream_id}. {status}:{reason}". format(stream_id=stream_id, status=response.status_code, reason=response.text)) stream = QiStream.fromJson(json.loads(response.content)) response.close() return stream
def getOrCreateStream(self, namespace_id, stream): """Tells Qi Service to create a stream based on the local 'stream' QiStream object""" if namespace_id is None: raise TypeError if stream is None or not isinstance(stream, QiStream): raise TypeError response = requests.post( self.__url + self.__streamsPath.format(tenant_id=self.__tenant, namespace_id=namespace_id, stream_id=stream.Id), data=stream.toJson(), headers=self.__qiHeaders()) if response.status_code < 200 or response.status_code >= 300: response.close() raise QiError("Failed to create QiStream, {stream_id}. {status}:{reason}". format(stream_id=stream.Id, status=response.status_code, reason=response.text)) stream = QiStream.fromJson(json.loads(response.content)) response.close() return stream
def getStreams(self, namespace_id, query): """Retrieves a list of streams associated with 'namespace_id' under the current tenant""" if namespace_id is None: raise TypeError if query is None: raise TypeError response = requests.get( self.__url + self.__streamsPath.format(tenant_id=self.__tenant, namespace_id=namespace_id), headers=self.__qiHeaders()) if response.status_code == 200: print("Succeeded in getting all streams") else: response.close() raise QiError("Failed to get all QiStreams. {status}:{reason}". format(status=response.status_code, reason=response.text)) content = json.loads(response.content) results = [] for item in content: results.append(QiStream.fromJson(item)) response.close() return results