diff options
Diffstat (limited to 'examples/introspection/python/all-async.py')
-rwxr-xr-x | examples/introspection/python/all-async.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/introspection/python/all-async.py b/examples/introspection/python/all-async.py new file mode 100755 index 000000000..70a3b2b1f --- /dev/null +++ b/examples/introspection/python/all-async.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +import gi +from gi.repository import Tracker, GObject + + +def results_ready_cb (obj, result, user_data): + cursor = obj.query_finish (result) + + # This can also be done asynchronously + while (cursor.next (None)): + print cursor.get_string (0) + + user_data.quit () + +def connection_ready_cb (object, result, user_data): + assert user_data + conn = Tracker.SparqlConnection.get_finish (result) + + conn.query_async ("SELECT ?u WHERE { ?u a nie:InformationElement. }", + None, + results_ready_cb, + user_data) + + +if __name__ == "__main__": + loop = GObject.MainLoop () + + Tracker.SparqlConnection.get_async (None, connection_ready_cb, loop) + + loop.run () |