/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-monitor

  • Committer: Teddy Hogeborn
  • Date: 2019-11-16 15:56:49 UTC
  • mto: This revision was merged to the branch mainline in revision 396.
  • Revision ID: teddy@recompile.se-20191116155649-5uep6eubrwbbbomq
Documentation fix: Correct example in password-agent(8mandos)

* dracut-module/password-agent.xml (EXAMPLE): Fix the example using
  the "default location" of mandos-client to actually use the default.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#
24
24
# Contact the authors at <mandos@recompile.se>.
25
25
#
 
26
 
26
27
from __future__ import (division, absolute_import, print_function,
27
28
                        unicode_literals)
28
 
 
29
29
try:
30
30
    from future_builtins import *
31
31
except ImportError:
32
32
    pass
33
33
 
34
34
import sys
35
 
import logging
36
35
import os
37
36
import warnings
38
37
import datetime
39
38
import locale
 
39
import logging
40
40
 
41
41
import urwid.curses_display
42
42
import urwid
47
47
import dbus
48
48
 
49
49
if sys.version_info.major == 2:
50
 
    __metaclass__ = type
51
50
    str = unicode
52
 
    input = raw_input
53
 
 
54
 
# Show warnings by default
55
 
if not sys.warnoptions:
56
 
    warnings.simplefilter("default")
57
51
 
58
52
log = logging.getLogger(os.path.basename(sys.argv[0]))
59
53
logging.basicConfig(level="NOTSET", # Show all messages
64
58
locale.setlocale(locale.LC_ALL, "")
65
59
 
66
60
logging.getLogger("dbus.proxies").setLevel(logging.CRITICAL)
67
 
logging.getLogger("urwid").setLevel(logging.INFO)
68
61
 
69
62
# Some useful constants
70
63
domain = "se.recompile"
71
64
server_interface = domain + ".Mandos"
72
65
client_interface = domain + ".Mandos.Client"
73
 
version = "1.8.17"
 
66
version = "1.8.9"
74
67
 
75
68
try:
76
69
    dbus.OBJECT_MANAGER_IFACE
95
88
                             int(fraction*1000000))  # Microseconds
96
89
 
97
90
 
98
 
class MandosClientPropertyCache:
 
91
class MandosClientPropertyCache(object):
99
92
    """This wraps a Mandos Client D-Bus proxy object, caches the
100
93
    properties and calls a hook function when any of them are
101
94
    changed.
128
121
        self.property_changed_match.remove()
129
122
 
130
123
 
131
 
class MandosClientWidget(MandosClientPropertyCache, urwid.Widget):
 
124
class MandosClientWidget(urwid.FlowWidget, MandosClientPropertyCache):
132
125
    """A Mandos Client which is visible on the screen.
133
126
    """
134
127
 
135
 
    _sizing = frozenset(["flow"])
136
 
 
137
128
    def __init__(self, server_proxy_object=None, update_hook=None,
138
129
                 delete_hook=None, **kwargs):
139
130
        # Called on update
228
219
 
229
220
    def selectable(self):
230
221
        """Make this a "selectable" widget.
231
 
        This overrides the method from urwid.Widget."""
 
222
        This overrides the method from urwid.FlowWidget."""
232
223
        return True
233
224
 
234
225
    def rows(self, maxcolrow, focus=False):
235
226
        """How many rows this widget will occupy might depend on
236
227
        whether we have focus or not.
237
 
        This overrides the method from urwid.Widget"""
 
228
        This overrides the method from urwid.FlowWidget"""
238
229
        return self.current_widget(focus).rows(maxcolrow, focus=focus)
239
230
 
240
231
    def current_widget(self, focus=False):
332
323
 
333
324
    def render(self, maxcolrow, focus=False):
334
325
        """Render differently if we have focus.
335
 
        This overrides the method from urwid.Widget"""
 
326
        This overrides the method from urwid.FlowWidget"""
336
327
        return self.current_widget(focus).render(maxcolrow,
337
328
                                                 focus=focus)
338
329
 
339
330
    def keypress(self, maxcolrow, key):
340
331
        """Handle keys.
341
 
        This overrides the method from urwid.Widget"""
 
332
        This overrides the method from urwid.FlowWidget"""
342
333
        if key == "+":
343
334
            self.proxy.Set(client_interface, "Enabled",
344
335
                           dbus.Boolean(True), ignore_reply=True,
415
406
        return ret
416
407
 
417
408
 
418
 
class UserInterface:
 
409
class UserInterface(object):
419
410
    """This is the entire user interface - the whole screen
420
411
    with boxes, lists of client widgets, etc.
421
412
    """