55# License: GPL3+
66
77import dbus
8+ import os
89import socket
910import struct
1011import sys
1617elif 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+
1928class 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
260271class IP6Config (NMDbusInterface ):
0 commit comments