Exemplo n.º 1
0
    def _object_yielded(self, obj):
        if isinstance(obj, hardware_controller.TimeoutError):

            answer = QMB.question(self.parent_widget,
                                  "Connection error",
                                  "Timeout connecting to %s" % obj.args[0],
                                  buttons=QMB.Retry | QMB.Ignore | QMB.Abort,
                                  defaultButton=QMB.Retry)

            return (std_button_to_cfg_action(answer), False)

        if isinstance(obj, config_util.MissingDestinationDevice):

            answer = QMB.question(
                self.parent_widget,
                "Missing Device",
                "No device at %s, %d, %d" %
                (util.display_url(obj.url), obj.bus, obj.dev),
                buttons=QMB.Retry | QMB.Ignore | QMB.Abort,
                defaultButton=QMB.Retry)

            return (std_button_to_cfg_action(answer), False)

        if isinstance(obj, config_util.IDCConflict):
            answer = QMB.question(self.parent_widget,
                                  "IDC Conflict",
                                  str(obj),
                                  buttons=QMB.Retry | QMB.Ignore | QMB.Abort,
                                  defaultButton=QMB.Retry)

            return (std_button_to_cfg_action(answer), False)

        if isinstance(obj, config_util.SetParameterError):
            url = obj.url
            bus = obj.set_result.bus
            dev = obj.set_result.device
            addr = obj.set_result.address

            try:
                device = self.app_registry.get_mrc(url).get_device(bus, dev)
                param_name = device.profile[addr].name
                param_name = "'%s' (address=%d)" % (param_name, addr)
            except KeyError:
                param_name = "address=%d" % (addr)

            msg = "Error setting %s to %d. Result: %d" % (
                param_name, obj.set_result.requested_value,
                obj.set_result.value)

            answer = QMB.question(self.parent_widget,
                                  "Set parameter error",
                                  msg,
                                  buttons=QMB.Ignore | QMB.Abort,
                                  defaultButton=QMB.Abort)

            return (std_button_to_cfg_action(answer), False)

        raise ValueError("Error: %s" % obj)
Exemplo n.º 2
0
 def __str__(self):
     return "Controller(%s)" % util.display_url(self.connection.url)
Exemplo n.º 3
0
    def _object_yielded(self, obj):
        if isinstance(obj, config_util.SetParameterError):
            set_result = obj.set_result
            device = obj.device

            try:
                param_name = device.profile[set_result.address].name
                param_name = "'%s' (address=%d)" % (param_name,
                                                    set_result.address)
            except KeyError:
                param_name = "address=%d" % (set_result.address, )

            msg = "(%s, %d, %d): Error setting %s to %d. Result: %d" % (
                device.mrc.get_display_url(), device.bus, device.address,
                param_name, set_result.requested_value, set_result.value)

            answer = QMB.question(self.parent_widget,
                                  "Set parameter error",
                                  msg,
                                  buttons=QMB.Retry | QMB.Ignore | QMB.Abort,
                                  defaultButton=QMB.Abort)

            return (std_button_to_cfg_action(answer), False)

        if isinstance(obj, hardware_controller.TimeoutError):

            answer = QMB.question(self.parent_widget,
                                  "Connection error",
                                  "Timeout connecting to %s" % obj.args[0],
                                  buttons=QMB.Retry | QMB.Ignore | QMB.Abort,
                                  defaultButton=QMB.Retry)

            return (std_button_to_cfg_action(answer), False)

        if isinstance(obj, config_util.MissingDestinationDevice):

            answer = QMB.question(
                self.parent_widget,
                "Missing Device",
                "No device at %s, %d, %d" %
                (util.display_url(obj.url), obj.bus, obj.dev),
                buttons=QMB.Retry | QMB.Ignore | QMB.Abort,
                defaultButton=QMB.Retry)

            return (std_button_to_cfg_action(answer), False)

        if isinstance(obj, config_util.IDCConflict):
            answer = QMB.question(self.parent_widget,
                                  "IDC Conflict",
                                  str(obj),
                                  buttons=QMB.Retry | QMB.Ignore | QMB.Abort,
                                  defaultButton=QMB.Retry)

            return (std_button_to_cfg_action(answer), False)

        if isinstance(obj, config_util.RcOff):
            device = obj.device

            s = "%s @ (%s, %d, %X)" % (device.get_device_name(),
                                       device.mrc.get_display_url(),
                                       device.bus, device.address)

            answer = QMB.question(
                self.parent_widget,
                "RC setting",
                "RC is disabled for %s.\nDo you want to enable RC now?" % s,
                buttons=QMB.No | QMB.NoToAll | QMB.Yes | QMB.YesToAll
                | QMB.Abort,
                defaultButton=QMB.Yes)

            return (std_button_to_cfg_action(answer), False)

        raise ValueError("Error: %s" % obj)
Exemplo n.º 4
0
 def get_display_url(self):
     return util.display_url(self.url)