From 1735e81b421c266467b97bb2ff5b4c62509e4615 Mon Sep 17 00:00:00 2001 From: SantaSpeen Date: Wed, 12 Mar 2025 14:41:18 +0300 Subject: [PATCH] [+] add examples --- examples/client.py | 8 -------- examples/client_console.py | 16 ++++++++++++++++ examples/client_console_handled.py | 17 +++++++++++++++++ examples/client_test_dataclass.py | 21 +++++++++++++++++++++ examples/client_test_types.py | 27 +++++++++++++++++++++++++++ examples/daemon.py | 8 -------- examples/echo_server.py | 14 ++++++++++++++ 7 files changed, 95 insertions(+), 16 deletions(-) delete mode 100644 examples/client.py create mode 100644 examples/client_console.py create mode 100644 examples/client_console_handled.py create mode 100644 examples/client_test_dataclass.py create mode 100644 examples/client_test_types.py delete mode 100644 examples/daemon.py create mode 100644 examples/echo_server.py diff --git a/examples/client.py b/examples/client.py deleted file mode 100644 index 5618184..0000000 --- a/examples/client.py +++ /dev/null @@ -1,8 +0,0 @@ -from winConnect import WinConnectClient - -connector = WinConnectClient('test') - -for data in connector.listen(): - print(data) - i = input(":> ") - connector.send_data(i) diff --git a/examples/client_console.py b/examples/client_console.py new file mode 100644 index 0000000..d936992 --- /dev/null +++ b/examples/client_console.py @@ -0,0 +1,16 @@ +from winConnect import WinConnectClient + +connector = WinConnectClient('test') + +def console(): + with connector as conn: + while True: + i = input(":> ") + if i == "exit": + break + conn.send_data(i) + data = conn.read_pipe() + print(f"({type(data)}) {data=}") + +if __name__ == '__main__': + console() diff --git a/examples/client_console_handled.py b/examples/client_console_handled.py new file mode 100644 index 0000000..8957423 --- /dev/null +++ b/examples/client_console_handled.py @@ -0,0 +1,17 @@ +from winConnect import WinConnectClient + +connector = WinConnectClient('test') + +def console(): + conn = connector.connect() + while True: + i = input(":> ") + if i == "exit": + break + conn.send_data(i) + data = conn.read_pipe() + print(f"({type(data)}) {data=}") + conn.close() + +if __name__ == '__main__': + console() diff --git a/examples/client_test_dataclass.py b/examples/client_test_dataclass.py new file mode 100644 index 0000000..246d2c2 --- /dev/null +++ b/examples/client_test_dataclass.py @@ -0,0 +1,21 @@ +from dataclasses import dataclass + +from winConnect import WinConnectClient + +connector = WinConnectClient('test') + +# Dataclass covert to json and send to server +@dataclass +class TestUser: + name: str + age: int + +def send_data(): + i = TestUser("test", 123) + with connector as conn: + conn.send_data(i) + data = conn.read_pipe() + print(f"({type(data)}) {data=}") + +if __name__ == '__main__': + send_data() diff --git a/examples/client_test_types.py b/examples/client_test_types.py new file mode 100644 index 0000000..fb00d2f --- /dev/null +++ b/examples/client_test_types.py @@ -0,0 +1,27 @@ +import uuid + +from winConnect import WinConnectClient + +connector = WinConnectClient('test') + +test_data = ( + [1, 2, 3, 4, 5], # List + # {"test"}, # Set - Not supported + {"test": "test"}, # Dict + "test", # Str + 123, # Int + 123.456, # Float + None, # None + True, # Bool + uuid.uuid4() # UUID; Transformed to str +) + +def send_data(): + with connector as conn: + for i in test_data: + conn.send_data(i) + data = conn.read_pipe() + print(f"({type(data)}) {data=}") + +if __name__ == '__main__': + send_data() diff --git a/examples/daemon.py b/examples/daemon.py deleted file mode 100644 index e33f17e..0000000 --- a/examples/daemon.py +++ /dev/null @@ -1,8 +0,0 @@ -from winConnect import WinConnectDaemon - -connector = WinConnectDaemon('test') -connector.set_header_settings(">L") - -for data in connector.listen(): - print(data) - connector.send_data(data) diff --git a/examples/echo_server.py b/examples/echo_server.py new file mode 100644 index 0000000..140dc8d --- /dev/null +++ b/examples/echo_server.py @@ -0,0 +1,14 @@ +from winConnect import WinConnectDaemon + +connector = WinConnectDaemon('test') +# Set header settings +# see: https://docs.python.org/3.13/library/struct.html#format-characters +# Default: ">L" +# >L - Big-endian long integer (header_size: 4 bytes, max_size: 4294967295) +connector.set_header_settings(">L") + +for data in connector.listen(): + print(f"({type(data)}) {data=}") + if data is None and connector.closed: + break + connector.send_data(data)