ui: show backend traffic audit in dialog log
This commit is contained in:
@@ -580,6 +580,16 @@ RU: Восстанавливает маршруты/nft из последнег
|
||||
self.txt_app.setReadOnly(True)
|
||||
tab_log = QWidget()
|
||||
tab_log_layout = QVBoxLayout(tab_log)
|
||||
row_log = QHBoxLayout()
|
||||
self.btn_app_audit = QPushButton("Run audit")
|
||||
self.btn_app_audit.setToolTip(
|
||||
"EN: Runs backend traffic audit (duplicates + nft consistency) and prints it here.\n"
|
||||
"RU: Запускает backend-аудит трафика (дубли + nft консистентность) и печатает сюда."
|
||||
)
|
||||
self.btn_app_audit.clicked.connect(self.on_app_audit)
|
||||
row_log.addWidget(self.btn_app_audit)
|
||||
row_log.addStretch(1)
|
||||
tab_log_layout.addLayout(row_log)
|
||||
tab_log_layout.addWidget(self.txt_app, stretch=1)
|
||||
self.apps_tabs.addTab(tab_log, "Log")
|
||||
|
||||
@@ -1742,6 +1752,22 @@ RU: Применяет policy-rules и проверяет health. При оши
|
||||
|
||||
self._safe(work, title="App picker error")
|
||||
|
||||
def on_app_audit(self) -> None:
|
||||
def work() -> None:
|
||||
audit = self.ctrl.traffic_audit()
|
||||
pretty = (getattr(audit, "pretty", "") or "").strip()
|
||||
if not pretty:
|
||||
pretty = f"ok={getattr(audit, 'ok', False)} message={getattr(audit, 'message', '')}"
|
||||
self._append_app_log("[audit]\n" + pretty)
|
||||
issues = list(getattr(audit, "issues", []) or [])
|
||||
ok = bool(getattr(audit, "ok", False)) and len(issues) == 0
|
||||
if issues:
|
||||
self._set_action_status(f"Audit: issues={len(issues)}", ok=False)
|
||||
else:
|
||||
self._set_action_status("Audit: OK", ok=True)
|
||||
|
||||
self._safe(work, title="Traffic audit error")
|
||||
|
||||
def _run_systemd_unit(self, cmdline: str, *, unit: str) -> tuple[str, str]:
|
||||
args = shlex.split(cmdline or "")
|
||||
if not args:
|
||||
|
||||
Reference in New Issue
Block a user