Exemple #1
0
    def _update(self):
        self.preconfTree.clear()
        self._preconf_enable = {}
        self._preconf_entries = {}
        self._user_entries = {}

        cf = self.client.eval('session.cache.get_raw("watchdog/configured")',
                              Ellipsis)
        if cf is Ellipsis:
            self.showError('Could not query watchdog configuration; '
                           'are you connected to a daemon?')
            return
        cf = sorted(cf, key=lambda entry: entry['id'])
        for entry in cf:
            eid = entry['id']
            item = QTreeWidgetItem(self.preconfTree, [
                '', entry['message'], entry['condition'], entry['setup'],
                str(entry['gracetime']), entry['precondition'],
                str(entry['precondtime']), entry['okmessage'],
                entry['scriptaction'], entry['action'], entry['okaction']
            ])
            item.setCheckState(0, Qt.Checked if entry['enabled']
                               else Qt.Unchecked)
            self._preconf_enable[eid] = entry['enabled']
            self._preconf_entries[eid] = entry
            item.setData(0, 32, eid)
Exemple #2
0
 def updateTree(self):
     """Updates the elements shown in the tree."""
     self.clearCacheTree()
     filterStr = self.valueFilter.text() or ''
     for key in self.client.keys():
         if filterStr not in key:
             continue
         # split the key into parts
         parts = key.split('/')
         # keys without category need a node too
         if len(parts) == 1:
             parts = ['<no category>'] + parts
         # add a node to the tree for each part of the key except the last
         prefix = ''
         parent = None
         for part in parts[:-1]:
             prefix = part if not prefix else prefix + '/' + part
             node = self._treeitems.get(prefix)
             if not node:
                 node = QTreeWidgetItem()
                 node.setText(0, part)
                 node.setData(0, 32, prefix)
                 if parent:
                     parent.addChild(node)
                 else:
                     self.treeCache.addTopLevelItem(node)
                     node.setExpanded(True)
                 self._treeitems[prefix] = node
             parent = node
Exemple #3
0
    def __init__(self, reason, parent=None):
        QDialog.__init__(self, parent)
        loadUi(self, 'dialogs/instr_select.ui')
        icon = QIcon(':/appicon-16')
        if reason:
            self.reasonLbl.setText(reason)
        else:
            self.reasonLbl.hide()
            self.saveBox.hide()

        self.confTree.itemDoubleClicked.connect(self.handleDoubleClick)
        for entry in sorted(os.listdir(config.nicos_root)):
            full = path.join(config.nicos_root, entry)
            if not (entry.startswith('nicos_') and path.isdir(full)):
                continue
            pkgitem = QTreeWidgetItem(self.confTree, [entry])
            pkgitem.setIcon(0, icon)
            for subentry in sorted(os.listdir(full)):
                configfile = path.join(full, subentry, 'guiconfig.py')
                if not path.isfile(configfile):
                    continue
                item = QTreeWidgetItem(pkgitem, [subentry])
                item.setData(0, QTreeWidgetItem.UserType, configfile)