Example #1
0
    def get_zpl_printer(self):
        printer = StateManager.getInstance().printer_zpl
        # print test request coming out
        if printer.print_test_request:
            self.push_task('printstatus')
            printer.print_test_request = False

        printer_device = None
        try:
            printer_device = Usb(printer.vendor_id, printer.product_id)
            printer.status = Printer.STATUS_CONNECTED
            return printer_device
        except usb.core.USBError:
            printer.status = Printer.STATUS_DISCONNECTED
        finally:
            if printer.status != self.current_printer_status:
                self.current_printer_status = printer.status
                if printer_device:
                    self.set_status(
                        'connected', "Connected to %s (in=0x%02x,out=0x%02x)" %
                        (printer.description, printer_device.in_ep,
                         printer_device.out_ep))
                else:
                    self.set_status('disconnected', 'Printer Not Found')

            # update status in GUI
            self.printer_status_signal.emit(str(StateManager.ZPL_PRINTER),
                                            str(printer.status))

        return printer_device
Example #2
0
def setup_log():
    state = StateManager.getInstance()
    logformat = '%(asctime)s - %(funcName)s - %(levelname)s: %(message)s'

    if state.is_frozen is False:
        logging.basicConfig(format=logformat,
                            level=state.log.level,
                            handlers=[logging.StreamHandler()])
    else:
        logging.basicConfig(format=logformat,
                            level=state.log.level,
                            filename=state.get_log().filename,
                            filemode='a')
Example #3
0
    def run(self):
        app = HTTPServer()

        def get_all_subclasses(cls):
            all_subclasses = []

            for subclass in cls.__subclasses__():
                all_subclasses.append(subclass)
                all_subclasses.extend(get_all_subclasses(subclass))

            return all_subclasses

        # register all controller
        controllers = get_all_subclasses(Controller)
        for controller in controllers:
            controller.register(app)

        app.install(EnableCorsPlugin())
        app.install(JSONRPCPlugin())
        port = StateManager.getInstance().web_service.port
        app.run(host='0.0.0.0', port=port, debug=False)
Example #4
0
    def __init__(self, parent=None):
        super(LinkBox, self).__init__(parent)
        self.state = StateManager.getInstance()
        self.state.set_dialog(self)
        self.setupUi(self)
        self.setWindowTitle('LinkBox')
        self._register_thread()
        self._register_signal()

        # attribute registration
        self.printer_zpl_model = QtGui.QStandardItemModel()
        self.printer_escpos_model = QtGui.QStandardItemModel()

        # update status
        try:
            self._init_ui()
        except usb.core.NoBackendError as e:
            QtWidgets.QMessageBox.question(self, 'System Error', str(e),
                                           QtWidgets.QMessageBox.Close)

            sys.exit()
Example #5
0
 def show_dialog(self):
     StateManager.getInstance().show_dialog()