pantalaimon: Refactor out the thread messages.

This commit is contained in:
Damir Jelić 2019-05-09 10:53:20 +02:00
parent 0e421b86a7
commit de29df75b9
5 changed files with 79 additions and 64 deletions

View File

@ -10,7 +10,11 @@ from nio import (AsyncClient, ClientConfig, EncryptionError,
from nio.store import SqliteStore from nio.store import SqliteStore
from pantalaimon.log import logger from pantalaimon.log import logger
from pantalaimon.ui import DevicesMessage, DeviceAuthStringMessage, InfoMessage from pantalaimon.thread_messages import (
DevicesMessage,
DeviceAuthStringMessage,
InfoMessage
)
class PanClient(AsyncClient): class PanClient(AsyncClient):

View File

@ -18,7 +18,7 @@ from nio import EncryptionError, GroupEncryptionError, LoginResponse
from pantalaimon.client import PanClient from pantalaimon.client import PanClient
from pantalaimon.log import logger from pantalaimon.log import logger
from pantalaimon.store import ClientInfo, PanStore from pantalaimon.store import ClientInfo, PanStore
from pantalaimon.ui import ( from pantalaimon.thread_messages import (
DeviceVerifyMessage, DeviceVerifyMessage,
DeviceUnverifyMessage, DeviceUnverifyMessage,
ExportKeysMessage, ExportKeysMessage,

View File

@ -13,7 +13,8 @@ from logbook import StderrHandler
from aiohttp import web 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.daemon import ProxyDaemon
from pantalaimon.config import PanConfig, PanConfigError, parse_log_level from pantalaimon.config import PanConfig, PanConfigError, parse_log_level
from pantalaimon.log import logger from pantalaimon.log import logger

View File

@ -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()

View File

@ -10,72 +10,21 @@ from gi.repository import GLib
from queue import Empty from queue import Empty
from pantalaimon.store import PanStore from pantalaimon.store import PanStore
from pantalaimon.thread_messages import (
DeviceVerifyMessage,
DeviceUnverifyMessage,
DevicesMessage,
InfoMessage,
DeviceConfirmSasMessage,
DeviceAuthStringMessage,
ImportKeysMessage,
ExportKeysMessage,
)
from pantalaimon.log import logger from pantalaimon.log import logger
DBusGMainLoop(set_as_default=True) 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): class Devices(dbus.service.Object):
def __init__(self, bus_name, queue, device_list): def __init__(self, bus_name, queue, device_list):
super().__init__(bus_name, "/org/pantalaimon/Devices") super().__init__(bus_name, "/org/pantalaimon/Devices")