This PR replaces the argparse CLI in the hyperdome server with a much more robust one using click.
This new CLI has interfaces for more rich interactions with server configuration and administration. The interfaces in place will allow administrators to change settings, import and export settings, and manage allowed counselors for the server.
The CLI works when pyinstaller is run for binaries.
Currently the CLI interfaces are 'empty' in that they only print to the screen and make none of the underlying changes that one would expect. The underlying systems for these interactions such as a settings schema and counselor database, are not yet implemented and would make this PR too big.
The placement of the cli.py file is subject to change as well. The current project structure is messy and likely difficult for an incoming developer to develop for.
The CLI added makes progress on issue #38 but does not close it due to lack of counselor DB implementation.
Checklist
[x] If code changes were made then they have been tested.
[ ] This PR fixes an issue.
[x] This PR adds something new (e.g. new method or parameters).
[x] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)
Summary
This PR replaces the argparse CLI in the hyperdome server with a much more robust one using click. This new CLI has interfaces for more rich interactions with server configuration and administration. The interfaces in place will allow administrators to change settings, import and export settings, and manage allowed counselors for the server.
The CLI works when pyinstaller is run for binaries.
Currently the CLI interfaces are 'empty' in that they only print to the screen and make none of the underlying changes that one would expect. The underlying systems for these interactions such as a settings schema and counselor database, are not yet implemented and would make this PR too big.
The placement of the cli.py file is subject to change as well. The current project structure is messy and likely difficult for an incoming developer to develop for.
The CLI added makes progress on issue #38 but does not close it due to lack of counselor DB implementation.
Checklist