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 | 28 +++++++++++++++ data/usr/bin/ayatana-webmail-clear | 40 +++++++++++++++++++++ data/usr/bin/ayatana-webmail-reset | 27 ++++++++++++++ data/usr/bin/ayatana-webmail-settings | 44 +++++++++++++++++++++++ data/usr/bin/ayatana-webmail-url | 66 +++++++++++++++++++++++++++++++++++ 5 files changed, 205 insertions(+) create mode 100755 data/usr/bin/ayatana-webmail create mode 100755 data/usr/bin/ayatana-webmail-clear create mode 100755 data/usr/bin/ayatana-webmail-reset create mode 100755 data/usr/bin/ayatana-webmail-settings create mode 100755 data/usr/bin/ayatana-webmail-url (limited to 'data/usr/bin') diff --git a/data/usr/bin/ayatana-webmail b/data/usr/bin/ayatana-webmail new file mode 100755 index 0000000..e199531 --- /dev/null +++ b/data/usr/bin/ayatana-webmail @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# Ayatana Webmail +# Authors: Dmitry Shachnev +# Robert Tari +# License: GNU GPL 3 or higher; http://www.gnu.org/licenses/gpl.html + +try: + + import devpath + from ayatanawebmail.appdata import APPDEBUG + APPDEBUG.append(True) + +except: + + pass + +import sys +from ayatanawebmail.application import AyatanaWebmail +from ayatanawebmail.common import isRunning + +if __name__ == '__main__': + + if isRunning() > 1: + + sys.exit(0) + + AyatanaWebmail(len(sys.argv) == 2 and sys.argv[1] == 'debug') diff --git a/data/usr/bin/ayatana-webmail-clear b/data/usr/bin/ayatana-webmail-clear new file mode 100755 index 0000000..744f709 --- /dev/null +++ b/data/usr/bin/ayatana-webmail-clear @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# Ayatana Webmail, Mark all messages as read +# Authors: Robert Tari +# License: GNU GPL 3 or higher; http://www.gnu.org/licenses/gpl.html + +import sys +import dbus + +from gi.repository import GLib +from dbus.mainloop.glib import DBusGMainLoop +from ayatanawebmail.common import isRunning + +oLoop = None + +if __name__ == '__main__': + + DBusGMainLoop(set_as_default=True) + oSessionBus = dbus.SessionBus() + + if isRunning(): + + try: + + oSession = oSessionBus.get_object('org.ayatana.webmail', '/org/ayatana/webmail') + oInterface = dbus.Interface(oSession, 'org.ayatana.webmail') + + oInterface.clear(reply_handler=lambda: oLoop.quit(), error_handler=lambda o: oLoop.quit()) + + oLoop = GLib.MainLoop() + oLoop.run() + + except dbus.DBusException as oDBusException: + + print(oDBusException) + sys.exit(1) + + sys.exit(0) + + sys.exit(1) diff --git a/data/usr/bin/ayatana-webmail-reset b/data/usr/bin/ayatana-webmail-reset new file mode 100755 index 0000000..d20fbca --- /dev/null +++ b/data/usr/bin/ayatana-webmail-reset @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# Ayatana Webmail, Remove all connection data from keyring +# Authors: Dmitry Shachnev +# Robert Tari +# License: GNU GPL 3 or higher; http://www.gnu.org/licenses/gpl.html + +import sys +import secretstorage + +if __name__ == '__main__': + + oBus = secretstorage.dbus_init() + oCollection = secretstorage.get_default_collection(oBus) + oCollection.unlock() + + try: + + for oItem in oCollection.search_items({'application': 'ayatana-webmail'}): + oItem.delete() + + except: + + pass + + sys.exit(0) + diff --git a/data/usr/bin/ayatana-webmail-settings b/data/usr/bin/ayatana-webmail-settings new file mode 100755 index 0000000..3eb3608 --- /dev/null +++ b/data/usr/bin/ayatana-webmail-settings @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# Ayatana Webmail, Show the settings dialog +# Authors: Robert Tari +# License: GNU GPL 3 or higher; http://www.gnu.org/licenses/gpl.html + +import sys +import dbus +import subprocess +from gi.repository import GLib +from dbus.mainloop.glib import DBusGMainLoop +from ayatanawebmail.common import isRunning + +oLoop = None + +if __name__ == '__main__': + + DBusGMainLoop(set_as_default=True) + oSessionBus = dbus.SessionBus() + + if isRunning(): + + try: + + oSession = oSessionBus.get_object('org.ayatana.webmail', '/org/ayatana/webmail') + oInterface = dbus.Interface(oSession, 'org.ayatana.webmail') + + oInterface.settings(reply_handler=lambda: oLoop.quit(), error_handler=lambda o: oLoop.quit()) + + oLoop = GLib.MainLoop() + oLoop.run() + + except dbus.DBusException as oDBusException: + + print(oDBusException) + sys.exit(1) + + sys.exit(0) + + else: + + subprocess.Popen(['ayatana-webmail'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + sys.exit(1) 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