import tkinter as tk import time from . import data from src import sendkeys def clipboard_poll(app: tk) -> None: data.log.debug('clipboard thread started') text = None # Last clipboard entry old_trade = None # This is the last trade, not the last clipboard entry while True: try: new_text = app.clipboard_get() except tk.TclError: new_text = None if text and new_text != text: data.log.info(new_text) text = new_text res_prefix = data.re_clipboard_prefix.search(text) if res_prefix: data.log.info(f'User: {res_prefix["user"]}') res = data.re_clipboard.search(text) if old_trade != text: # Don't send old trade again. Happnes sometimes if clipboard is used by other tools and restored sendkeys.send_text(text) old_trade = text else: data.log.info(f'Didn\'t send. Clipboard "{text}" already sent.') if res: trade = data.Trade.by_regex_result(res) data.log.info(trade) time.sleep(0.2)