From de29df75b9209b0a5ca151c6c2b746ddd80d5ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damir=20Jeli=C4=87?= Date: Thu, 9 May 2019 10:53:20 +0200 Subject: [PATCH] pantalaimon: Refactor out the thread messages. --- pantalaimon/client.py | 6 ++- pantalaimon/daemon.py | 2 +- pantalaimon/main.py | 3 +- pantalaimon/thread_messages.py | 61 +++++++++++++++++++++++++++++ pantalaimon/ui.py | 71 +++++----------------------------- 5 files changed, 79 insertions(+), 64 deletions(-) create mode 100644 pantalaimon/thread_messages.py diff --git a/pantalaimon/client.py b/pantalaimon/client.py index 9c273f9..ad609eb 100644 --- a/pantalaimon/client.py +++ b/pantalaimon/client.py @@ -10,7 +10,11 @@ from nio import (AsyncClient, ClientConfig, EncryptionError, from nio.store import SqliteStore from pantalaimon.log import logger -from pantalaimon.ui import DevicesMessage, DeviceAuthStringMessage, InfoMessage +from pantalaimon.thread_messages import ( + DevicesMessage, + DeviceAuthStringMessage, + InfoMessage +) class PanClient(AsyncClient): diff --git a/pantalaimon/daemon.py b/pantalaimon/daemon.py index 39fb8d8..1f2da4a 100755 --- a/pantalaimon/daemon.py +++ b/pantalaimon/daemon.py @@ -18,7 +18,7 @@ from nio import EncryptionError, GroupEncryptionError, LoginResponse from pantalaimon.client import PanClient from pantalaimon.log import logger from pantalaimon.store import ClientInfo, PanStore -from pantalaimon.ui import ( +from pantalaimon.thread_messages import ( DeviceVerifyMessage, DeviceUnverifyMessage, ExportKeysMessage, diff --git a/pantalaimon/main.py b/pantalaimon/main.py index 2ac26ee..cd55378 100644 --- a/pantalaimon/main.py +++ b/pantalaimon/main.py @@ -13,7 +13,8 @@ from logbook import StderrHandler from aiohttp import web -from pantalaimon.ui import GlibT, InfoMessage +from pantalaimon.ui import GlibT +from pantalaimon.thread_messages import InfoMessage from pantalaimon.daemon import ProxyDaemon from pantalaimon.config import PanConfig, PanConfigError, parse_log_level from pantalaimon.log import logger diff --git a/pantalaimon/thread_messages.py b/pantalaimon/thread_messages.py new file mode 100644 index 0000000..2c5dbf5 --- /dev/null +++ b/pantalaimon/thread_messages.py @@ -0,0 +1,61 @@ +import attr + + +@attr.s +class Message: + pass + + +@attr.s +class InfoMessage(Message): + string = attr.ib() + + +@attr.s +class DevicesMessage(Message): + user_id = attr.ib() + devices = attr.ib() + + +@attr.s +class _KeysOperation(Message): + pan_user = attr.ib() + file_path = attr.ib() + passphrase = attr.ib() + + +@attr.s +class ImportKeysMessage(_KeysOperation): + pass + + +@attr.s +class ExportKeysMessage(_KeysOperation): + pass + + +@attr.s +class _VerificationMessage(Message): + pan_user = attr.ib() + user_id = attr.ib() + device_id = attr.ib() + + +@attr.s +class DeviceVerifyMessage(_VerificationMessage): + pass + + +@attr.s +class DeviceUnverifyMessage(_VerificationMessage): + pass + + +@attr.s +class DeviceConfirmSasMessage(_VerificationMessage): + pass + + +@attr.s +class DeviceAuthStringMessage(_VerificationMessage): + short_string = attr.ib() diff --git a/pantalaimon/ui.py b/pantalaimon/ui.py index 8c0180f..9abfad1 100644 --- a/pantalaimon/ui.py +++ b/pantalaimon/ui.py @@ -10,72 +10,21 @@ from gi.repository import GLib from queue import Empty from pantalaimon.store import PanStore +from pantalaimon.thread_messages import ( + DeviceVerifyMessage, + DeviceUnverifyMessage, + DevicesMessage, + InfoMessage, + DeviceConfirmSasMessage, + DeviceAuthStringMessage, + ImportKeysMessage, + ExportKeysMessage, +) from pantalaimon.log import logger DBusGMainLoop(set_as_default=True) -@attr.s -class Message: - pass - - -@attr.s -class InfoMessage(Message): - string = attr.ib() - - -@attr.s -class DevicesMessage(Message): - user_id = attr.ib() - devices = attr.ib() - - -@attr.s -class _KeysOperation(Message): - pan_user = attr.ib() - file_path = attr.ib() - passphrase = attr.ib() - - -@attr.s -class ImportKeysMessage(_KeysOperation): - pass - - -@attr.s -class ExportKeysMessage(_KeysOperation): - pass - - -@attr.s -class _VerificationMessage(Message): - pan_user = attr.ib() - user_id = attr.ib() - device_id = attr.ib() - - -@attr.s -class DeviceVerifyMessage(_VerificationMessage): - pass - - -@attr.s -class DeviceUnverifyMessage(_VerificationMessage): - pass - - -@attr.s -class DeviceConfirmSasMessage(_VerificationMessage): - pass - - -@attr.s -class DeviceAuthStringMessage(_VerificationMessage): - short_string = attr.ib() - - - class Devices(dbus.service.Object): def __init__(self, bus_name, queue, device_list): super().__init__(bus_name, "/org/pantalaimon/Devices")