Skip to content

Commit 1b0dea9

Browse files
committed
host address icingawebdb
1 parent 3297dd9 commit 1b0dea9

2 files changed

Lines changed: 53 additions & 46 deletions

File tree

Nagstamon/QUI/__init__.py

Lines changed: 52 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5276,66 +5276,72 @@ def edit_server(self):
52765276
"""
52775277
edit existing server
52785278
"""
5279-
dialogs.server.edit()
5279+
# issue #1114 - do not allow editing of servers when no server is selected nor doesn't exist
5280+
if dialogs.settings.window.list_servers.currentItem():
5281+
dialogs.server.edit()
52805282

52815283
@Slot()
52825284
def copy_server(self):
52835285
"""
52845286
copy existing server
52855287
"""
5286-
dialogs.server.copy()
5288+
# issue #1114 - do not allow editing of servers when no server is selected nor doesn't exist
5289+
if dialogs.settings.window.list_servers.currentItem():
5290+
dialogs.server.copy()
52875291

52885292
@Slot()
52895293
def delete_server(self):
52905294
"""
52915295
delete server, stop its thread, remove from config and list
52925296
"""
5293-
# server to delete from current row in servers list
5294-
server = conf.servers[self.window.list_servers.currentItem().text()]
5295-
5296-
reply = QMessageBox.question(self.window, 'Nagstamon',
5297-
f'Do you really want to delete monitor server <b>{server.name}</b>?',
5298-
QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No,
5299-
QMessageBox.StandardButton.No)
5300-
5301-
if reply == QMessageBox.StandardButton.Yes:
5302-
# in case server is enabled delete its vbox
5303-
if server.enabled:
5304-
for vbox in statuswindow.servers_vbox.children():
5305-
if vbox.server.name == server.name:
5306-
# stop thread by falsificate running flag
5307-
vbox.table.worker.running = False
5308-
vbox.table.worker.finish.emit()
5309-
break
5310-
5311-
# kick server out of server instances
5312-
servers.pop(server.name)
5313-
# dito from config items
5314-
conf.servers.pop(server.name)
5315-
5316-
# refresh list
5317-
# row index 0 to x
5318-
row = self.window.list_servers.currentRow()
5319-
# count real number, 1 to x
5320-
count = self.window.list_servers.count()
5297+
# issue #1114 - do not allow editing of servers when no server is selected nor doesn't exist
5298+
if dialogs.settings.window.list_servers.currentItem():
5299+
# server to delete from current row in servers list
5300+
server = conf.servers[self.window.list_servers.currentItem().text()]
5301+
5302+
reply = QMessageBox.question(self.window, 'Nagstamon',
5303+
f'Do you really want to delete monitor server <b>{server.name}</b>?',
5304+
QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No,
5305+
QMessageBox.StandardButton.No)
5306+
5307+
if reply == QMessageBox.StandardButton.Yes:
5308+
# in case server is enabled delete its vbox
5309+
if server.enabled:
5310+
for vbox in statuswindow.servers_vbox.children():
5311+
if vbox.server.name == server.name:
5312+
# stop thread by falsificate running flag
5313+
vbox.table.worker.running = False
5314+
vbox.table.worker.finish.emit()
5315+
break
53215316

5322-
# if deleted row was the last line the new current row has to be the new last line, accidently the same as count
5323-
if row == count - 1:
5324-
# use the penultimate item as the new current one
5325-
row = count - 2
5326-
else:
5327-
# go down one row
5328-
row = row + 1
5317+
# kick server out of server instances
5318+
servers.pop(server.name)
5319+
# dito from config items
5320+
conf.servers.pop(server.name)
5321+
5322+
# refresh list
5323+
# row index 0 to x
5324+
row = self.window.list_servers.currentRow()
5325+
# count real number, 1 to x
5326+
count = self.window.list_servers.count()
5327+
5328+
# if deleted row was the last line the new current row has to be the new last line, accidently the same as count
5329+
if row == count - 1:
5330+
# use the penultimate item as the new current one
5331+
row = count - 2
5332+
else:
5333+
# go down one row
5334+
row = row + 1
53295335

5330-
# refresh list and mark new current row
5331-
self.refresh_list(list_widget=self.window.list_servers,
5332-
list_conf=conf.servers,
5333-
current=self.window.list_servers.item(row).text())
5334-
del (row, count)
5336+
# refresh list and mark new current row
5337+
self.refresh_list(list_widget=self.window.list_servers,
5338+
list_conf=conf.servers,
5339+
current=self.window.list_servers.item(row).text())
5340+
del (row, count)
53355341

5336-
# delete server config file from disk
5337-
conf.delete_file('servers', 'server_{0}.conf'.format(quote(server.name, safe='')))
5338-
del server
5342+
# delete server config file from disk
5343+
conf.delete_file('servers', 'server_{0}.conf'.format(quote(server.name, safe='')))
5344+
del server
53395345

53405346
def refresh_list(self, list_widget, list_conf, current=''):
53415347
"""
@@ -6022,6 +6028,7 @@ def edit(self, server_name=None, show_options=False):
60226028
edit existing server
60236029
when called by Edit button in ServerVBox use given server_name to get server config
60246030
"""
6031+
60256032
self.mode = 'edit'
60266033
# shorter server conf
60276034
if server_name is None:

Nagstamon/Servers/IcingaDBWeb.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -798,7 +798,7 @@ def get_host(self, host):
798798
try:
799799
# take ip from json output
800800
result = json.loads(jsonhost)[0]
801-
ip = result["host_address"]
801+
ip = result["address"]
802802

803803
# print IP in debug mode
804804
if conf.debug_mode is True:

0 commit comments

Comments
 (0)