Exemplo n.º 1
0
    def _on_load_queue(self):

        _dir = commands.get_workfolder()
        fdialog = QtWidgets.QFileDialog()
        filepath, ext = fdialog.getOpenFileName(self,
                                                "Open File",
                                                _dir,
                                                "*.json")

        with open(filepath, "r") as fp:
            queue_data = json.load(fp)

        if "queue" not in queue_data:
            raise RuntimeError("Invalid queue data")

        valid_items = []
        items = commands.create_queue_in_data(queue_data["queue"])
        for item in items:
            if self._validate_queue_entry(item):
                valid_items.append(item)

        self.log.info("Found %d new item(s)" % len(valid_items))

        if self.queue_widgets.currentIndex() != 1:
            self.queue_widgets.setCurrentIndex(1)

        self.queue_model.add_items(valid_items)
Exemplo n.º 2
0
    def _on_save_queue(self):
        """Store the created queue in a json file"""

        _dir = commands.get_workfolder()
        fdialog = QtWidgets.QFileDialog()
        filepath, ext = fdialog.getSaveFileName(self,
                                                "Save File",
                                                _dir,
                                                "*.json")
        if not filepath:
            return

        assert ext == "*.json", "Wrong file type"

        queued_items = self._get_queued_items()
        if not queued_items:
            self.log.error("No queued items to store")
            return

        queue_data = commands.create_queue_out_data(queued_items)
        commands.save_to_json(filepath, {"queue": queue_data})