diff options
Diffstat (limited to 'macropad.pyw')
-rwxr-xr-x | macropad.pyw | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/macropad.pyw b/macropad.pyw index c7e8770..6e4f922 100755 --- a/macropad.pyw +++ b/macropad.pyw @@ -1,41 +1,33 @@ #!/usr/bin/env python3 -import serial - +import threading +from os import path import tkinter as tk from tkinter import Text +import configparser +from sys import platform + import pystray from pystray import MenuItem as item -from PIL import Image, ImageTk -from typing import Dict -import threading -import sys +from PIL import Image from zope import component import interfaces -from interfaces import endpoint, configuration +from interfaces import endpoint from interfaces.message import IMessage, Debug -import configparser +import consumer +from configuration import Mapping + -from os import path script_path = path.dirname(path.realpath(__file__)) config_file = path.join(script_path, "config.ini") config = configparser.ConfigParser(delimiters="=") config.read(config_file) -from collections import OrderedDict - -from configuration import Mapping
-mapping = Mapping(config)
- - -from queue import Queue -q = Queue() - -component.provideAdapter(interfaces.endpoint.EndPoint) +mapping = Mapping(config) component.provideUtility(mapping, interfaces.configuration.IConfiguration) # @@ -45,14 +37,17 @@ component.provideUtility(mapping, interfaces.configuration.IConfiguration) # # How to connect to the peripherical # +component.provideAdapter(interfaces.endpoint.EndPoint) if config.has_section("connection.serial"): from serial_conn import SerialConnection - endpoint = component.queryAdapter(SerialConnection(config["connection.serial"]), endpoint.IEndpoint) + endpoint = component.queryAdapter( + SerialConnection(config["connection.serial"]), endpoint.IEndpoint) elif config.has_section("connection.socket"): from socket_conn import SocketConnection - endpoint = component.queryAdapter(SocketConnection(config["connection.socket"]), endpoint.IEndpoint) + endpoint = component.queryAdapter( + SocketConnection(config["connection.socket"]), endpoint.IEndpoint) component.provideUtility(endpoint, interfaces.endpoint.IEndpoint) endpoint.connect() @@ -64,16 +59,15 @@ if config.has_section("socket.serve"): else: server = None -import consumer handler = consumer.SocketMessageConsumer() handler.start() -class Icon(object): +class Icon(): def __init__(self, image): menu=( - item('Quit', self.quit_window), + item('Quit', self.quit_window), item('Show', self.show_window, default=True), item('Reset',self.reset), ) @@ -106,7 +100,7 @@ class Icon(object): def reset(self): mapping.reset() -class Application(object): +class Application(): def __init__(self): # Override the default function called when exception are reported @@ -142,7 +136,6 @@ class Application(object): def connect_desktop(self): """ Launch the thread listening events from the desktop """ - from sys import platform component.handle(Debug(platform)) if platform == "win32": import win32 @@ -167,7 +160,7 @@ class Application(object): self.window.destroy() component.queryUtility(interfaces.desktopEvent.IDesktop).stop() return - + def hide(self): self.icon.show_hide.clear() self.visible = False @@ -204,7 +197,8 @@ class Application(object): def exec(self): try: self.update() - if server is not None: server.update() + if server is not None: + server.update() except BaseException as e: component.handle(Debug( str(e) )) print(e) |