/mandos/trunk

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

« back to all changes in this revision

Viewing changes to mandos-monitor

  • Committer: Teddy Hogeborn
  • Date: 2024-11-22 20:30:34 UTC
  • Revision ID: teddy@recompile.se-20241122203034-92q7483wxv29tqev
mandos-monitor: avoid deprecation warnings from urwid

The urwid.FlowWidget class is deprecated.  Replace it with inheriting
from urwid.Widget, and setting the appropriate class attribute.

* mandos-monitor: Replace any mentions of urwid.FlowWidget with
  urwid.Widget.
  (MandosClientWidget): Inherit from "urwid.Widget" instead of
  "urwid.FlowWidget".  Also, move MandosClientPropertyCache to first
  in inheritance list so that its __init__ method can absorb the
  "proxy_object" and "properties" keyword arguments.
  (MandosClientWidget._sizing): New class attribute; set to
  "frozenset(["flow"])".

(Thanks to an anonymous contributor for reporting this.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
64
64
locale.setlocale(locale.LC_ALL, "")
65
65
 
66
66
logging.getLogger("dbus.proxies").setLevel(logging.CRITICAL)
 
67
logging.getLogger("urwid").setLevel(logging.INFO)
67
68
 
68
69
# Some useful constants
69
70
domain = "se.recompile"
70
71
server_interface = domain + ".Mandos"
71
72
client_interface = domain + ".Mandos.Client"
72
 
version = "1.8.16"
 
73
version = "1.8.17"
73
74
 
74
75
try:
75
76
    dbus.OBJECT_MANAGER_IFACE
127
128
        self.property_changed_match.remove()
128
129
 
129
130
 
130
 
class MandosClientWidget(urwid.FlowWidget, MandosClientPropertyCache):
 
131
class MandosClientWidget(MandosClientPropertyCache, urwid.Widget):
131
132
    """A Mandos Client which is visible on the screen.
132
133
    """
133
134
 
 
135
    _sizing = frozenset(["flow"])
 
136
 
134
137
    def __init__(self, server_proxy_object=None, update_hook=None,
135
138
                 delete_hook=None, **kwargs):
136
139
        # Called on update
225
228
 
226
229
    def selectable(self):
227
230
        """Make this a "selectable" widget.
228
 
        This overrides the method from urwid.FlowWidget."""
 
231
        This overrides the method from urwid.Widget."""
229
232
        return True
230
233
 
231
234
    def rows(self, maxcolrow, focus=False):
232
235
        """How many rows this widget will occupy might depend on
233
236
        whether we have focus or not.
234
 
        This overrides the method from urwid.FlowWidget"""
 
237
        This overrides the method from urwid.Widget"""
235
238
        return self.current_widget(focus).rows(maxcolrow, focus=focus)
236
239
 
237
240
    def current_widget(self, focus=False):
329
332
 
330
333
    def render(self, maxcolrow, focus=False):
331
334
        """Render differently if we have focus.
332
 
        This overrides the method from urwid.FlowWidget"""
 
335
        This overrides the method from urwid.Widget"""
333
336
        return self.current_widget(focus).render(maxcolrow,
334
337
                                                 focus=focus)
335
338
 
336
339
    def keypress(self, maxcolrow, key):
337
340
        """Handle keys.
338
 
        This overrides the method from urwid.FlowWidget"""
 
341
        This overrides the method from urwid.Widget"""
339
342
        if key == "+":
340
343
            self.proxy.Set(client_interface, "Enabled",
341
344
                           dbus.Boolean(True), ignore_reply=True,