[tracker/tracker-0.10] libtracker-miner, libtracker-sparql: Added introspection examples
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/tracker-0.10] libtracker-miner, libtracker-sparql: Added introspection examples
- Date: Thu, 7 Apr 2011 13:46:12 +0000 (UTC)
commit 87f9959d46b576abaa32d967b1981b9a8668bc5f
Author: Ivan Frade <ivan frade nokia com>
Date: Mon Mar 28 19:28:49 2011 +0300
libtracker-miner, libtracker-sparql: Added introspection examples
Miner and Async query are not working as expected yet, but the code
should be correct.
examples/introspection/python/all-async.py | 30 ++++++++++++++++
examples/introspection/python/miner.py | 47 ++++++++++++++++++++++++++
examples/introspection/python/query-async.py | 25 ++++++++++++++
examples/introspection/python/query-sync.py | 9 +++++
4 files changed, 111 insertions(+), 0 deletions(-)
---
diff --git a/examples/introspection/python/all-async.py b/examples/introspection/python/all-async.py
new file mode 100755
index 0000000..70a3b2b
--- /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 ()
diff --git a/examples/introspection/python/miner.py b/examples/introspection/python/miner.py
new file mode 100755
index 0000000..b7944a9
--- /dev/null
+++ b/examples/introspection/python/miner.py
@@ -0,0 +1,47 @@
+#!/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 100755
index 0000000..be5ede5
--- /dev/null
+++ b/examples/introspection/python/query-async.py
@@ -0,0 +1,25 @@
+#!/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 100755
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]