def request_data(self, request, *args): """Request data from Turbo-Satori. Parameters: ----------- request : str The request to be sent to Turbo-Satori. Returns: -------- data : str The byte string of the received data. rt : int The time it took to get the data. """ start = get_time() self._tcp.clear() request = unicode2byte(request) self._send(request, *args) data = self._wait() arg_length = sum([len(x) for x in args]) arg = b"".join(args) if data is None: raise TurbosatoriNetworkInterface.TimeoutError( "Waiting for requested data timed out!") elif byte2unicode(data).startswith("Wrong request!"): raise TurbosatoriNetworkInterface.RequestError( "Wrong request '{0}'!".format(data[19:-1])) elif data[0:len(request) + 1 + arg_length] != request + b"\x00" + arg: raise TurbosatoriNetworkInterface.DataError( "Received data does not match request!") else: return data[len(request) + 1:], int((get_time() - start) * 1000)
def get_watch_folder(self): """Get the watch folder. Returns ------- folder : str The watch folder. rt : int The time it took to get the data. """ folder, rt = self.request_data("tGetWatchFolder") return byte2unicode(folder[4:-1]), rt
def get_feedback_folder(self): """Get the feedback folder. Returns ------- folder : str The feedback folder. rt : int The time it took to get the data. """ folder, rt = self.request_data("tGetFeedbackFolder") return byte2unicode(folder[4:-1]), rt
def get_project_name(self): """Get the project name. Returns ------- name : str The project name. rt : int The time it took to get the data. """ name, rt = self.request_data("tGetProjectName") return byte2unicode(name[4:-1]), rt
def get_images_feedback_folder(self): """Get the feedback folder for the images. Returns: -------- folder : str The feedback folder. rt : int The time it took to get the data. """ folder, rt = self.request_data("tGetImagesFeedbackFolder") if folder is None: return None, rt elif folder[:14] == "Wrong request!": raise Exception("Wrong request!: '{0}'".format(folder[19:-1])) else: return byte2unicode(folder[4:-1]), rt
def get_images_feedback_folder(self): """Get the feedback folder for the images. Returns: -------- folder : str The feedback folder. rt : int The time it took to get the data. """ folder, rt = self.request_data("tGetImagesFeedbackFolder") if folder is None: return None, rt elif folder[:14] == "Wrong request!": raise Exception("Wrong request!: '{0}'".format(folder[19:-1])) else: return byte2unicode(folder[4:-1]), rt
def get_target_folder(self): """Get the target folder. Returns ------- folder : str The target folder. rt : int The time it took to get the data. """ folder, rt = self.request_data("tGetTargetFolder") if folder is None: return None, rt elif folder[:14] == "Wrong request!": raise Exception("Wrong request!: '{0}'".format(folder[19:] - 1)) else: return byte2unicode(folder[4:-1]), rt
def get_project_name(self): """Get the project name. Returns ------- name : str The project name. rt : int The time it took to get the data. """ name, rt = self.request_data("tGetProjectName") if name is None: return None, rt elif name[:14] == "Wrong request!": raise Exception("Wrong request!: '{0}'".format(name[19:-1])) else: return byte2unicode(name[4:-1]), rt
def get_target_folder(self): """Get the target folder. Returns ------- folder : str The target folder. rt : int The time it took to get the data. """ folder, rt = self.request_data("tGetTargetFolder") if folder is None: return None, rt elif folder[:14] == "Wrong request!": raise Exception("Wrong request!: '{0}'".format(folder[19:]-1)) else: return byte2unicode(folder[4:-1]), rt
def get_project_name(self): """Get the project name. Returns ------- name : str The project name. rt : int The time it took to get the data. """ name, rt = self.request_data("tGetProjectName") if name is None: return None, rt elif name[:14] == "Wrong request!": raise Exception("Wrong request!: '{0}'".format(name[19:-1])) else: return byte2unicode(name[4:-1]), rt