[tracker/introspection: 12/16] examples: miner, query sync and async in python using GI



commit 960e269238285ec7cebea4f18a957a1281b6685f
Author: Ivan Frade <ivan frade nokia com>
Date:   Mon Mar 28 19:28:49 2011 +0300

    examples: miner, query sync and async in python using GI
    
    Miner and Async query are not working as expected yet, but the code
    should be correct.

 examples/introspection/python/miner.py       |   51 ++++++++++++++++++++++++++
 examples/introspection/python/query-async.py |   26 +++++++++++++
 examples/introspection/python/query-sync.py  |    9 +++++
 3 files changed, 86 insertions(+), 0 deletions(-)
---
diff --git a/examples/introspection/python/miner.py b/examples/introspection/python/miner.py
new file mode 100755
index 0000000..5648987
--- /dev/null
+++ b/examples/introspection/python/miner.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+import gi
+from gi.repository import TrackerMiner, GLib, GObject, Gio
+
+
+class MyMiner (TrackerMiner.Miner):
+    __gtype_name__ = 'MyMiner'
+    
+    def __init__ (self):
+        TrackerMiner.Miner.__init__ (self,
+                                     name="MyMiner",
+                                     progress=0,
+                                     status="fine")
+        # This shouldn't be needed, but at the moment the
+        # overrided methods are not called
+        self.connect ("started", self.started_cb)
+
+        # Say to initable that we are ok
+        self.init (None)
+        
+
+    def started (self, x):
+        print "override started"
+
+    def started_cb (self, x):
+        print "started as callback"
+
+    def stopped (self):
+        print "override stopped"
+
+    def resumed (self):
+        print "override resumed"
+
+    def paused (self):
+        print "override paused"
+        
+    def progress (self):
+        print "override progress"
+
+    def ignore_next_update (self):
+        print "override ignore next updated"
+
+
+
+if __name__ == "__main__":
+    m = MyMiner ()
+    m.start ()
+
+    GObject.MainLoop().run ()
+    
+	
diff --git a/examples/introspection/python/query-async.py b/examples/introspection/python/query-async.py
new file mode 100644
index 0000000..0617233
--- /dev/null
+++ b/examples/introspection/python/query-async.py
@@ -0,0 +1,26 @@
+#!/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 ()
+
+    
+if __name__ == "__main__":
+    loop = GObject.MainLoop ()
+
+    # The connection can be requested asynchronously
+    conn = Tracker.SparqlConnection.get (None)
+    conn.query_async ("SELECT ?u WHERE { ?u a nie:InformationElement. }",
+                      None,
+                      results_ready_cb,
+                      loop)
+
+    loop.run ()
+
diff --git a/examples/introspection/python/query-sync.py b/examples/introspection/python/query-sync.py
new file mode 100644
index 0000000..cf8bfd6
--- /dev/null
+++ b/examples/introspection/python/query-sync.py
@@ -0,0 +1,9 @@
+#!/usr/bin/env python
+import gi
+from gi.repository import Tracker
+
+conn = Tracker.SparqlConnection.get (None)
+cursor = conn.query ("SELECT ?u WHERE { ?u a nie:InformationElement. }", None)
+
+while (cursor.next (None)):
+    print cursor.get_string (0)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]