Dear Jirka, It's weird. After adjusting my script, it's still error:
[Here is new script:] #!/usr/bin/env python import dbus bus = dbus.SystemBus() proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager") proxy_prop = dbus.Interface(proxy, "org.freedesktop.DBus.Properties") manager = dbus.Interface(proxy, "org.freedesktop.NetworkManager") #proxy_user_setting = bus.get_object("org.freedesktop.NetworkManagerUserSettings", "/org/freedesktop/NetworkManagerUserSettings") proxy_sys_setting = bus.get_object("org.freedesktop.NetworkManagerSystemSettings", "/org/freedesktop/NetworkManagerSystemSettings") settings = dbus.Interface(proxy_sys_setting, "org.freedesktop.NetworkManagerSettings") print "========= active connection" connections = proxy_prop.Get("org.freedesktop.NetworkManager", "ActiveConnections") print "%d" % proxy_prop.Get("org.freedesktop.NetworkManager", "WirelessHardwareEnabled") print "%d" % proxy_prop.Get("org.freedesktop.NetworkManager", "WirelessEnabled") print "%d" % proxy_prop.Get("org.freedesktop.NetworkManager", "State") for con in connections: print "xxxx %s" % con con_obj = bus.get_object("org.freedesktop.NetworkManager", con) print "========== list connection " connections = settings.ListConnections() for con in connections: print "%s" % con [Here is log:] toa...@vt_ttpm_rd_toannc5:~/Desktop$ ./python_dbus_client ========= active connection 1 1 3 ========== list connection Traceback (most recent call last): File "./python_dbus_client", line 25, in <module> connections = settings.ListConnections() File "/var/lib/python-support/python2.6/dbus/proxies.py", line 68, in __call__ return self._proxy_method(*args, **keywords) File "/var/lib/python-support/python2.6/dbus/proxies.py", line 140, in __call__ **keywords) File "/var/lib/python-support/python2.6/dbus/connection.py", line 622, in call_blocking message, timeout) dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "ListConnections" with signature "" on interface "org.freedesktop.NetworkManagerSettings" doesn't exist Please help. -----Original Message----- From: Jirka Klimes [mailto:jkli...@redhat.com] Sent: Wednesday, April 28, 2010 1:18 AM To: networkmanager-list@gnome.org Cc: Nguyen Canh Toan; 'Pablo Martà Gamboa' Subject: Re: Confusing about DBus API specification ListConnections() method is not provided by /org/freedesktop/NetworkManager service, rather /org/freedesktop/NetworkManagerSystemSettings and org.freedesktop.NetworkManagerUserSettings. See inline comments to adapt your script. On Thursday 29 of April 2010 11:05:13 Nguyen Canh Toan wrote: > Thank Pablo for quickly reply, > > > > I think I am misunderstanding something. I have rewritten my script as your > advice but I still error. Here is my short script: > > > > > > #!/usr/bin/env python > > > > import dbus > > bus = dbus.SystemBus() > > > > proxy = bus.get_object("org.freedesktop.NetworkManager", > "/org/freedesktop/NetworkManager") > add here proxy1 = bus.get_object("org.freedesktop.NetworkManagerUserSettings", "/org/freedesktop/NetworkManagerSettings") for listing user connections or proxy1 = bus.get_object("org.freedesktop.NetworkManagerSystemSettings", "/org/freedesktop/NetworkManagerSettings") for listing system-wide connections. > proxy_prop = dbus.Interface(proxy, "org.freedesktop.DBus.Properties") > > manager = dbus.Interface(proxy, "org.freedesktop.NetworkManager") > > settings = dbus.Interface(proxy, "org.freedesktop.NetworkManagerSettings") You need to use proxy1 here instead of proxy. settings = dbus.Interface(proxy1, "org.freedesktop.NetworkManagerSettings") > > > > #active connection > > connections = proxy_prop.Get("org.freedesktop.NetworkManager", > "ActiveConnections") > > print "%d" % proxy_prop.Get("org.freedesktop.NetworkManager", > "WirelessHardwareEnabled") > > print "%d" % proxy_prop.Get("org.freedesktop.NetworkManager", > "WirelessEnabled") > > print "%d" % proxy_prop.Get("org.freedesktop.NetworkManager", "State") > > for con in connections: > > print "xxxx %s" % con > > con_obj = bus.get_object("org.freedesktop.NetworkManager", con) > > > > print "list connection " > > connections = > manager.ListConnections(dbus_interface="org.freedesktop.NetworkManagerSetti > n gs") this line should look like this: connections = settings.ListConnections() i.e. using settings interface and no arguments to ListConnections() > > for con in connections: > > print "%s" % con > > Jirka _______________________________________________ networkmanager-list mailing list networkmanager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list