about summary refs log tree commit diff
path: root/examples/python/gi/list-connections.py
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2015-01-22 00:29:39 +0100
committerMichael Biebl <biebl@debian.org>2015-01-22 00:29:39 +0100
commit2c032d8f1c6292c1338a615e6ec40252889ba85c (patch)
tree1f77182220b2b0264288ba4a476ab47e5bc48716 /examples/python/gi/list-connections.py
parent33491bc4279481db8ae47213e34a6d695a0e8830 (diff)
Imported Upstream version 1.0.0 upstream/1.0.0
Diffstat (limited to 'examples/python/gi/list-connections.py')
-rwxr-xr-xexamples/python/gi/list-connections.py34
1 files changed, 13 insertions, 21 deletions
diff --git a/examples/python/gi/list-connections.py b/examples/python/gi/list-connections.py
index b6452d35..34b559fc 100755
--- a/examples/python/gi/list-connections.py
+++ b/examples/python/gi/list-connections.py
@@ -1,5 +1,7 @@
 #!/usr/bin/env python
 # -*- Mode: Python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# vim: ft=python ts=4 sts=4 sw=4 et ai
+
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,36 +17,26 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
-# Copyright (C) 2012 Red Hat, Inc.
+# Copyright 2012 - 2014 Red Hat, Inc.
 #
 
-from gi.repository import GLib, NetworkManager, NMClient
+from gi.repository import NM
 
 # This example asks settings service for all configured connections.
-# Unfortunately, at this time since libnm-glib still makes heavy use of
-# GValue and GHashTable (rather than GVariant), libnm-glib isn't fully
-# usable from GObject Introspection-ready languages. Most functions will
-# work fine, but e. g. nm_connection_to_hash() causes assertion failures.
-
-main_loop = None
 
 def print_values(setting, key, value, flags, data):
     print "  %s.%s: %s" % (setting.get_name(), key, value)
 
-def connections_read(settings):
-    connections = settings.list_connections()
+if __name__ == "__main__":
+    # create Client object
+    client = NM.Client.new(None)
+
+    # get all connections
+    connections = client.get_connections()
+
+    # print the connections' details
     for c in connections:
-        print "--- %s : %s" % (c.get_id(), c.get_path())
+        print "=== %s : %s ===" % (c.get_id(), c.get_path())
         c.for_each_setting_value(print_values, None)
         print "\n"
-    main_loop.quit()    
-
-if __name__ == "__main__":
-    main_loop = GLib.MainLoop()
-    settings = NMClient.RemoteSettings.new(None);
-
-    # connections are read asynchronously, so we need to wait for the
-    # settings object to tell us that it's read all connections
-    settings.connect("connections-read", connections_read)
-    main_loop.run()