You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
from concurrent.futures import ThreadPoolExecutor from threading import Thread from typing import Callable, Dict, Any
from gooey.gui import seeder from gooey.gui import state as s from gooey.gui.state import FullGooeyState from gooey.python_bindings.types import Try, PublicGooeyState
def communicateFormValidation(state: FullGooeyState, callback: Callable[[Try[Dict[str, str]]], None]) -> None: communicateAsync(s.buildFormValidationCmd(state), state, callback)
def communicateSuccessState(state: FullGooeyState, callback: Callable[[Try[PublicGooeyState]], None]) -> None: communicateAsync(s.buildOnSuccessCmd(state), state, callback)
def communicateErrorState(state: FullGooeyState, callback: Callable[[Try[PublicGooeyState]], None]) -> None: communicateAsync(s.buildOnErrorCmd(state), state, callback)
def fetchFieldValidation(): pass
def fetchFieldAction(): pass
def fetchFormAction(): pass
def communicateAsync(cmd: str, state: FullGooeyState, callback: Callable[[Any], None]): """
Callable MUST be wrapped in wx.CallAfter if its going to modify the UI. """
def work(): result = seeder.communicate(cmd, state['encoding']) callback(result) thread = Thread(target=work) thread.start()
|