Example #1
0
    def create_project(self):
        """ Create a new project.

        Returns:
            int: ID of created project.

        """
        request = {"type": "request", "cmd": "otii_create_project"}
        response = self.connection.send_and_receive(request)
        if response["type"] == "error":
            raise otii_exception.Otii_Exception(response)
        return project.Project(response["data"]["project_id"], self.connection)
Example #2
0
    def get_active_project(self):
        """ Returns the active project if there is one.

        Returns:
            :obj:Project: Project object.

        """
        request = {"type": "request", "cmd": "otii_get_active_project"}
        response = self.connection.send_and_receive(request)
        if response["type"] == "error":
            raise otii_exception.Otii_Exception(response)
        if response["data"]["project_id"] == -1:
            return None
        else:
            return project.Project(response["data"]["project_id"],
                                   self.connection)
Example #3
0
    def open_project(self, filename, force=False, progress=False):
        """ Open an existing project.

        Args:
            filename (str): Name of project file.
            force (bool, optional): True to open even if unsaved data exists, False not to.
            progress (bool, optional): True to receive notifications about progress of opening file, False not to.

        Returns:
            int: ID of opened project.

        """
        data = {"filename": filename, "force": force, "progress": progress}
        request = {"type": "request", "cmd": "otii_open_project", "data": data}
        # Set timeout to None (blocking) as command can operate over large quantities of data to avoid timeout
        response = self.connection.send_and_receive(request, None)
        if response["type"] == "error":
            raise otii_exception.Otii_Exception(response)
        proj = project.Project(response["data"]["project_id"], self.connection)
        proj.filename = response["data"]["filename"]
        return proj