Example #1
0
    def show_settings(self):
        self.config_dialog = config_dialog.ConfigDialog()
        self.config_dialog.accepted.connect(self.config_dialog_accepted)

        status = mdstat.get_status()
        for device in sorted(status['devices']):
            self.config_dialog.deviceComboBox.addItem(device)

        self.config_dialog.deviceComboBox.setCurrentIndex(
            self.config_dialog.deviceComboBox.findText(self.device))

        self.config_dialog.pollingSpinBox.setValue(self.polling_interval)

        self.config_dialog.colorActiveButton.setColor(self.color_active)
        self.config_dialog.colorResyncButton.setColor(self.color_resync)
        self.config_dialog.colorFailedButton.setColor(self.color_failed)
        self.config_dialog.colorInactiveButton.setColor(self.color_inactive)

        self.config_dialog.show()
Example #2
0
    def update_status(self):
        self.raid_status = None

        if not self.device:
            return

        status = mdstat.get_status()

        if self.device not in status['devices']:
            return self.tray_icon.set_device_not_found(self.device)

        self.raid_status = status['devices'][self.device]

        if self.raid_status['pers'] and self.raid_status['raid']['degraded'] > 0:
            if self.raid_status['resync']['type']:
                self.tray_icon.set_device_resync()
            else:
                self.tray_icon.set_device_failed()
        elif self.raid_status['resync']['type']:
            self.tray_icon.set_device_resync()
        else:
            self.tray_icon.set_device_active(self.raid_status['active'])

        self.update_tooltip()
Example #3
0
def get_status():
    return mdstat.get_status()