4
4
# Mandos Monitor - Control and monitor the Mandos server
6
# Copyright © 2008-2010 Teddy Hogeborn
7
# Copyright © 2008-2010 Björn Påhlsson
6
# Copyright © 2008-2012 Teddy Hogeborn
7
# Copyright © 2008-2012 Björn Påhlsson
9
9
# This program is free software: you can redistribute it and/or modify
10
10
# it under the terms of the GNU General Public License as published by
19
19
# You should have received a copy of the GNU General Public License
20
20
# along with this program. If not, see <http://www.gnu.org/licenses/>.
22
# Contact the authors at <mandos@fukt.bsnet.se>.
22
# Contact the authors at <mandos@recompile.se>.
25
25
from __future__ import (division, absolute_import, print_function,
93
93
>>> string_to_delta("5m 30s")
94
94
datetime.timedelta(0, 330)
96
timevalue = datetime.timedelta(0)
97
regexp = re.compile("\d+[dsmhw]")
96
value = datetime.timedelta(0)
97
regexp = re.compile("(\d+)([dsmhw]?)")
99
for s in regexp.findall(interval):
101
suffix = unicode(s[-1])
104
delta = datetime.timedelta(value)
106
delta = datetime.timedelta(0, value)
108
delta = datetime.timedelta(0, 0, 0, 0, value)
110
delta = datetime.timedelta(0, 0, 0, 0, 0, value)
112
delta = datetime.timedelta(0, 0, 0, 0, 0, 0, value)
115
except (ValueError, IndexError):
99
for num, suffix in regexp.findall(interval):
101
value += datetime.timedelta(int(num))
103
value += datetime.timedelta(0, int(num))
105
value += datetime.timedelta(0, 0, 0, 0, int(num))
107
value += datetime.timedelta(0, 0, 0, 0, 0, int(num))
109
value += datetime.timedelta(0, 0, 0, 0, 0, 0, int(num))
111
value += datetime.timedelta(0, 0, 0, int(num))
120
114
def print_clients(clients, keywords):
121
115
def valuetostring(value, keyword):
302
296
dbus.PROPERTIES_IFACE)
298
if options.checker is not None:
305
299
client.Set(client_interface, "Checker",
307
301
dbus_interface=dbus.PROPERTIES_IFACE)
302
if options.host is not None:
309
303
client.Set(client_interface, "Host", options.host,
310
304
dbus_interface=dbus.PROPERTIES_IFACE)
305
if options.interval is not None:
312
306
client.Set(client_interface, "Interval",
313
307
timedelta_to_milliseconds
314
308
(string_to_delta(options.interval)),
315
309
dbus_interface=dbus.PROPERTIES_IFACE)
316
if options.approval_delay:
310
if options.approval_delay is not None:
317
311
client.Set(client_interface, "ApprovalDelay",
318
312
timedelta_to_milliseconds
319
313
(string_to_delta(options.
320
314
approval_delay)),
321
315
dbus_interface=dbus.PROPERTIES_IFACE)
322
if options.approval_duration:
316
if options.approval_duration is not None:
323
317
client.Set(client_interface, "ApprovalDuration",
324
318
timedelta_to_milliseconds
325
319
(string_to_delta(options.
326
320
approval_duration)),
327
321
dbus_interface=dbus.PROPERTIES_IFACE)
322
if options.timeout is not None:
329
323
client.Set(client_interface, "Timeout",
330
324
timedelta_to_milliseconds
331
325
(string_to_delta(options.timeout)),
332
326
dbus_interface=dbus.PROPERTIES_IFACE)
333
if options.extended_timeout:
327
if options.extended_timeout is not None:
334
328
client.Set(client_interface, "ExtendedTimeout",
335
329
timedelta_to_milliseconds
336
330
(string_to_delta(options.extended_timeout)),
337
331
dbus_interface=dbus.PROPERTIES_IFACE)
332
if options.secret is not None:
339
333
client.Set(client_interface, "Secret",
340
334
dbus.ByteArray(open(options.secret,