diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2012-08-28 10:20:16 +0200 |
---|---|---|
committer | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2012-08-28 10:20:22 +0200 |
commit | 858781b7a0ff7359d27ae5c5ac204ff5e8d96f62 (patch) | |
tree | 25036e4d49d76651f9f757f1ea1f2d12c15ba2ca | |
parent | 38a91793171f47646b17aa0bd1d662ec8f5cce31 (diff) |
Add the approver back
-rwxr-xr-x | src/approver.py | 38 |
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() |