Skip to content

Commit ab4a6e7

Browse files
committed
Add debugging functionality
1 parent 9fc5872 commit ab4a6e7

File tree

2 files changed

+23
-12
lines changed

2 files changed

+23
-12
lines changed

NetworkManager.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# License: GPL3+
66

77
import dbus
8+
import os
89
import socket
910
import struct
1011
import sys
@@ -16,6 +17,14 @@
1617
elif not hasattr(__builtins__, 'bytes'):
1718
bytes = lambda x, y=None: chr(x[0]) if x else x
1819

20+
try:
21+
debuglevel = int(os.environ['NM_DEBUG'])
22+
def debug(msg, data):
23+
sys.stderr.write(msg + "\n")
24+
sys.stderr.write(repr(data)+"\n")
25+
except:
26+
debug = lambda *args: None
27+
1928
class NMDbusInterface(object):
2029
bus = dbus.SystemBus()
2130
dbus_service = 'org.freedesktop.NetworkManager'
@@ -42,13 +51,13 @@ def __init__(self, object_path=None):
4251

4352
def _make_property(self, name):
4453
def get(self):
45-
data = self.unwrap(self.proxy.Get(self.interface_name, name,
46-
dbus_interface='org.freedesktop.DBus.Properties'))
47-
return self.postprocess(name, data)
54+
data = self.proxy.Get(self.interface_name, name, dbus_interface='org.freedesktop.DBus.Properties')
55+
debug("Received property %s.%s" % (self.interface_name, name), data)
56+
return self.postprocess(name, self.unwrap(data))
4857
def set(self, value):
49-
data = self.preprocess(name, data)
50-
return self.proxy.Set(self.interface_name, name, self.wrap(value),
51-
dbus_interface='org.freedesktop.DBus.Properties')
58+
data = self.wrap(self.preprocess(name, data))
59+
debug("Setting property %s.%s" % (self.interface_name, name), value)
60+
return self.proxy.Set(self.interface_name, name, value, dbus_interface='org.freedesktop.DBus.Properties')
5261
return property(get, set)
5362

5463
def unwrap(self, val):
@@ -99,11 +108,13 @@ def __getattr__(self, name):
99108
def make_proxy_call(self, name):
100109
def proxy_call(*args, **kwargs):
101110
func = getattr(self.interface, name)
111+
args, kwargs = self.preprocess(name, args, kwargs)
102112
args = self.wrap(args)
103113
kwargs = self.wrap(kwargs)
104-
args, kwargs = self.preprocess(name, args, kwargs)
105-
ret = self.unwrap(func(*args, **kwargs))
106-
return self.postprocess(name, ret)
114+
debug("Calling function %s.%s" % (self.interface_name, name), (args, kwargs))
115+
ret = func(*args, **kwargs)
116+
debug("Received return value for %s.%s" % (self.interface_name, name), ret)
117+
return self.postprocess(name, self.unwrap(ret))
107118
return proxy_call
108119

109120
def connect_to_signal(self, signal, handler, *args, **kwargs):
@@ -254,7 +265,7 @@ def postprocess(self, name, val):
254265
if name == 'Routes':
255266
return [fixups.route_to_python(route) for route in val]
256267
if name in ('Nameservers', 'WinsServers'):
257-
return [fixups.add_to_python(addr) for addr in val]
268+
return [fixups.addr_to_python(addr) for addr in val]
258269
return val
259270

260271
class IP6Config(NMDbusInterface):

examples/connection_detail.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
print(" IPv4 config")
3737
print(" Addresses")
3838
for addr in dev.Ip4Config.Addresses:
39-
print(" %s/%d -> %s" % addr)
39+
print(" %s/%d -> %s" % tuple(addr))
4040
print(" Routes")
4141
for route in dev.Ip4Config.Routes:
42-
print(" %s/%d -> %s (%d)" % route)
42+
print(" %s/%d -> %s (%d)" % tuple(route))
4343
print(" Nameservers")
4444
for ns in dev.Ip4Config.Nameservers:
4545
print(" %s" % ns)

0 commit comments

Comments
 (0)