summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2012-08-28 10:20:16 +0200
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>2012-08-28 10:20:22 +0200
commit858781b7a0ff7359d27ae5c5ac204ff5e8d96f62 (patch)
tree25036e4d49d76651f9f757f1ea1f2d12c15ba2ca
parent38a91793171f47646b17aa0bd1d662ec8f5cce31 (diff)
Add the approver back
-rwxr-xr-xsrc/approver.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/approver.py b/src/approver.py
new file mode 100755
index 0000000..85a40da
--- /dev/null
+++ b/src/approver.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+import os
+
+from gi.repository import GObject, Gio
+from gi.repository import TelepathyGLib as Tp
+
+def approve_channel_cb (approver, account, connection,
+ channels, dispatch, context, data):
+ print "Asked for approval"
+ handler = None
+
+ context.accept ()
+
+ for h in dispatch.get_property ("possible-handlers"):
+ if h.startswith('org.freedesktop.Telepathy.Client.Phoenix'):
+ handler = h
+
+ if handler == None:
+ print "No Phoenix handler, closing"
+ dispatch.close_channels_async (None, None)
+ else:
+ print "Handling with: " + handler
+ dispatch.handle_with_async (handler, None, None)
+
+if __name__ == '__main__':
+ Tp.debug_set_flags(os.getenv('PHOENIX_DEBUG', ''))
+
+ loop = GObject.MainLoop()
+
+ am = Tp.AccountManager.dup()
+ approver = Tp.SimpleApprover.new_with_am(am,
+ 'Phoenix.Approver', False, approve_channel_cb, None)
+
+ approver.add_approver_filter({})
+ approver.register()
+
+ loop.run()