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