29 Commits

Author SHA1 Message Date
Xevion
5050a1154f Improve main thread logging, commit stop_flag 2022-06-12 16:11:14 -05:00
Xevion
7cdafc7eb0 Improve and document ClientHandler.receive function 2022-06-12 16:07:41 -05:00
Xevion
8537eeced6 Add server-side flag-based thread stopping with socket timeouts 2022-06-12 16:03:31 -05:00
Xevion
bcf852d5aa Handle KeyboardInterrupt properly in server mainthread 2022-06-12 15:27:13 -05:00
Xevion
64a5dd8c20 Move shared constants, exceptions & helpers.py into /shared/ 2022-06-12 13:17:26 -05:00
Xevion
65b9e3d8b0 Small code beauty/clarity edits & improvements
New code documentation, insignificant code refactors etc.
2021-11-14 13:45:10 -06:00
Xevion
5a6824f3a9 Simplify SQLite database table creation
Table creation is a little complicated right now and I'm simplifying it
for clarity. Perhaps at a later date when each server/client database
has more tables, I will revisit it.
2021-05-30 16:30:14 -05:00
Xevion
a49b2fe903 Move pyqt5 generated UI classes into ./client/ui/
- Also added MainWindow.ui to repo.
2021-02-21 13:14:19 -06:00
Xevion
7410dbb01d implement ABC classes getting rid of duplicate code 2021-01-27 09:14:51 -06:00
Xevion
b9df9a9ae6 create baseclass Database and create new ClientDatabase alongside renamed ServerDatabase class, table construction 2021-01-26 12:00:24 -06:00
Xevion
9c3bc4378a docs and TODO, remove old nickname dialog code, cleanup, remove refresh_connections timer/func, logging setLevel change, server.main use constants DEFAULT IP/PORt 2021-01-25 12:06:58 -06:00
Xevion
0dcfa234ad fix help command without argument, change from default DEBUG level to individually configured, comments/docs/formatting, improved imports, remove REFRESH CLIENT LIST request 2021-01-22 14:35:54 -06:00
Xevion
53faae4154 improve logging/exceptions for data reception, new exceptions.py file 2021-01-22 09:39:16 -06:00
Xevion
12917edaa4 switch back to threading for global information object access, implement thread-by-thread database connections with thread locking mechanisms 2021-01-22 09:38:46 -06:00
Xevion
3c4d5115f2 message history exchange implementation, include database message IDs with all messages sent 2021-01-21 15:54:27 -06:00
Xevion
da5d7597fe improve message recording, use try/finally cur cursor closing, on-demand cursor creation 2021-01-21 15:52:00 -06:00
Xevion
4c3870ae70 new sqlite3 database for recording messages by clients and server 2021-01-21 12:00:02 -06:00
Xevion
50ddf83ed7 switch to multiprocessing, attempt to improve KeyboardInterrupt handling (or add it, actually) 2021-01-21 11:59:11 -06:00
Xevion
7185d1d1ae separate some basic client handling functions into BaseClient, remove mention of 'message' in socket data transfer functions 2021-01-21 11:58:02 -06:00
Xevion
303f08b712 command name argument lower, ensure client is properly removed from main.py all_clients 2021-01-20 23:37:06 -06:00
Xevion
76ec0fd75b fix QTextEdit not clearing properly, use minimum contrast in initial client color selection, MINIMUM_CONTRAST constant 2021-01-20 23:36:23 -06:00
Xevion
fd7cf3bdec new Color class replacing bare hex strings, WCAG contrast ratio and relative luminance functions, allow automatic selection of more ideal contrasting colors 2021-01-20 23:24:48 -06:00
Xevion
097f42092e better command processing with CommandHandler, two commands; /Reroll and /Help 2021-01-20 22:35:36 -06:00
Xevion
2bad0e62bb reformat handling to use available broadcast_message functions, split logic into separate functions, send tracebacks to logger 2021-01-10 12:51:17 -06:00
Xevion
b517d9d775 fix launch, adjust how main.py starts 2021-01-10 12:40:07 -06:00
Xevion
065a4dc313 create improved server/client commandline launching method 2021-01-10 11:44:31 -06:00
Xevion
8027a80196 reorganizing oserver.py into proper folder, creating client class for organization and clarity 2021-01-10 11:32:19 -06:00
Xevion
ab1c14adb5 commit rest of old client/server fixes 2021-01-08 18:52:25 -06:00
Xevion
4dc14d118b nearly finished client GUI with listening support 2021-01-08 14:28:01 -06:00