(self)
| 2442 | return items |
| 2443 | |
| 2444 | def _add_rulesTree_fw_chains(self): |
| 2445 | expanded = list() |
| 2446 | selected = None |
| 2447 | scrollValue = self.rulesTreePanel.verticalScrollBar().value() |
| 2448 | fwItem = self.rulesTreePanel.topLevelItem(self.RULES_TREE_FIREWALL) |
| 2449 | it = QtWidgets.QTreeWidgetItemIterator(fwItem) |
| 2450 | # save tree selected rows |
| 2451 | try: |
| 2452 | while it.value(): |
| 2453 | x = it.value() |
| 2454 | if x.isExpanded(): |
| 2455 | expanded.append(x) |
| 2456 | if x.isSelected(): |
| 2457 | selected = x |
| 2458 | it += 1 |
| 2459 | except Exception: |
| 2460 | pass |
| 2461 | |
| 2462 | self.rulesTreePanel.setAnimated(False) |
| 2463 | fwItem.takeChildren() |
| 2464 | self.rulesTreePanel.setItemWidget(fwItem, 1, self.fwTreeEdit) |
| 2465 | chains = self._fw.get_chains() |
| 2466 | for addr in chains: |
| 2467 | # add nodes |
| 2468 | hostname = self._nodes.get_node_hostname(addr) |
| 2469 | nodeRoot = QtWidgets.QTreeWidgetItem([addr, hostname]) |
| 2470 | nodeRoot.setData(0, QtCore.Qt.ItemDataRole.UserRole, addr) |
| 2471 | fwItem.addChild(nodeRoot) |
| 2472 | for nodeChains in chains[addr]: |
| 2473 | # exclude legacy system rules |
| 2474 | if len(nodeChains) == 0: |
| 2475 | continue |
| 2476 | for cc in nodeChains: |
| 2477 | # add tables |
| 2478 | tableName = "{0}-{1}".format(cc.Table, cc.Family) |
| 2479 | nodeTable = QtWidgets.QTreeWidgetItem([tableName]) |
| 2480 | nodeTable.setData(0, QtCore.Qt.ItemDataRole.UserRole, "{0}-{1}".format(addr, tableName)) |
| 2481 | |
| 2482 | chainName = "{0}-{1}".format(cc.Name, cc.Hook) |
| 2483 | nodeChain = QtWidgets.QTreeWidgetItem([chainName, cc.Policy]) |
| 2484 | nodeChain.setData(0, QtCore.Qt.ItemDataRole.UserRole, "{0}-{1}".format(addr, chainName)) |
| 2485 | nodeChain.setData( |
| 2486 | 0, |
| 2487 | QtCore.Qt.ItemDataRole.UserRole, |
| 2488 | # key to identify this chain |
| 2489 | "{0}#{1}#{2}".format(addr, cc.Hook, cc.Name) |
| 2490 | ) |
| 2491 | |
| 2492 | items = self._find_tree_fw_items("{0}-{1}".format(addr, tableName)) |
| 2493 | if len(items) == 0: |
| 2494 | # add table |
| 2495 | nodeTable.addChild(nodeChain) |
| 2496 | nodeRoot.addChild(nodeTable) |
| 2497 | else: |
| 2498 | # add chains |
| 2499 | node = items[0] |
| 2500 | node.addChild(nodeChain) |
| 2501 |
no test coverage detected