57 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
66dd219b78 Improve README with build/development details 2022-06-12 15:28:25 -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
724c0f9c4d Create makefile for building executable 2022-06-12 13:07:42 -05:00
Xevion
87003032f7 Switch from requirements.txt to pipenv 2022-06-12 12:23:21 -05:00
Xevion
88012d50a9 Ignore all *.db files 2022-06-12 12:21:51 -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
0aa78628de Update README 2021-05-30 13:13:24 -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
c51e573155 change GUI label to statusbar, imports/docs cleanup 2021-01-29 11:40:47 -06:00
Xevion
7410dbb01d implement ABC classes getting rid of duplicate code 2021-01-27 09:14:51 -06:00
Xevion
6bb302d2fc attepting to add promoted qstatusbar, auto-trigger validation on nickname input 2021-01-26 14:15:20 -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
ce0c17b827 requirements.txt update 2021-01-25 12:11:53 -06:00
Xevion
5f2b2aa733 update dialog to accept faker default nickname launch sys.argv, prepare_json fix typehint/arg name, commit sizeof helper func, update launch.py for new client/main.py 2021-01-25 12:11:41 -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
66d85369e1 add test connection button disabling, fix DEFAULT port constant, fix gui closeEvent issues, test launching after connectionDialog 2021-01-25 12:05:02 -06:00
Xevion
628aaea937 fix QStatusBar not updating, ConnectionOptions namedtuple settings func, Connect button basic logic, DEFAULT_IP/PORT 2021-01-25 11:36:23 -06:00
Xevion
9f317f3b96 new ConnectionDialog for managing server settings, nickname and password profile with input validation, statusbar tips 2021-01-25 11:25: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
e862540e14 data transfer stats, remove status bar, change all client.send to custom in-between method 2021-01-22 12:06:30 -06:00
Xevion
82a408072d fix message adding/removing with textBox total refresh, compiled message formats, add proper html escaping, separate ReceiveWorker into worker.py 2021-01-22 11:19:22 -06:00
Xevion
35bff4b320 greatly improve client logging with dict/signal based inter-thread communication, better exception handling via try/except, attempt to improve window closing 2021-01-22 09:59:05 -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
aa0b37cdaf improve message data extraction and recording, improve connection refreshing/message history processing after nickname sent 2021-01-21 15:51:08 -06:00
Xevion
25b1f9f92a update .gitignore for database, update requirements.txt for webcolors 2021-01-21 12:00:31 -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
c3bb1f1fee improve constants file documentation 2021-01-20 23:02:45 -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
51f22ddd48 cleanup and remove unusued/old files 2021-01-10 12:41:17 -06:00
Xevion
92c53aa8a8 improve nickname dialog (add text, placeholder), fix > 3 letters check, close dialog with window properly 2021-01-10 12:41:03 -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
eacc839ce9 add custom logging with clients marked via thread name 2021-01-09 17:13:08 -06:00
Xevion
1baf1b9cd9 fix order of command processing, add helper function for sending messages 2021-01-09 15:08:56 -06:00
Xevion
7c8d1c0d67 add LICENSE 2021-01-09 13:19:38 -06:00