From 711050055339f6a14f0c3da4d3d28f707b97a102 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Mon, 17 Aug 2020 17:40:59 +0200 Subject: Initial port from Unity Mail --- data/usr/bin/ayatana-webmail-url | 66 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 data/usr/bin/ayatana-webmail-url (limited to 'data/usr/bin/ayatana-webmail-url') diff --git a/data/usr/bin/ayatana-webmail-url b/data/usr/bin/ayatana-webmail-url new file mode 100755 index 0000000..f65e66d --- /dev/null +++ b/data/usr/bin/ayatana-webmail-url @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# Ayatana Webmail, QuickList URL processor +# Authors: Dmitry Shachnev +# Robert Tari +# License: GNU GPL 3 or higher; http://www.gnu.org/licenses/gpl.html + +import sys +import subprocess +import dbus +from gi.repository import GLib +from dbus.mainloop.glib import DBusGMainLoop +from ayatanawebmail.common import isRunning + +if __name__ == '__main__': + + if len(sys.argv) == 2 and sys.argv[1] in ['Home', 'Compose', 'Inbox', 'Sent']: + + if isRunning(): + + bInit = False + + DBusGMainLoop(set_as_default=True) + oSessionBus = dbus.SessionBus() + + try: + + oSession = oSessionBus.get_object('org.ayatana.webmail', '/org/ayatana/webmail') + oInterface = dbus.Interface(oSession, 'org.ayatana.webmail') + oLoop = GLib.MainLoop() + + def replyHandler(b): + + global bInit + bInit = b + oLoop.quit() + + oInterface.isinit(reply_handler=replyHandler, error_handler=lambda o: oLoop.quit()) + oLoop.run() + + if not bInit: + oInterface.settings(reply_handler=lambda: oLoop.quit(), error_handler=lambda o: oLoop.quit()) + else: + oInterface.openurl(sys.argv[1], reply_handler=lambda: oLoop.quit(), error_handler=lambda o: oLoop.quit()) + + oLoop = GLib.MainLoop() + oLoop.run() + sys.exit(0) + + except dbus.DBusException as oDBusException: + + print(oDBusException) + sys.exit(1) + + else: + + subprocess.Popen(['ayatana-webmail'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + sys.exit(0) + + else: + + print('ayatana-webmail-url must be called with one of these arguments: Home, Compose, Inbox or Sent') + sys.exit(1) + + sys.exit(0) + -- cgit v1.2.3