✨✨ CLI Command cleanup ✨✨#3210
Merged
droidmonkey merged 1 commit intokeepassxreboot:developfrom Jun 14, 2019
Merged
Conversation
5551375 to
8521d7c
Compare
Member
|
There are not enough emoji's in this PR. |
Member
Author
|
@droidmonkey 🤣 🤣 we could add emoji quotas in the contributing guidelines |
Member
|
I'll digest this later in the week, first pass looks really really promising. |
This PR cleans up the `Command` classes in the CLI, introducing a `DatabaseCommand` class for the commands operating on a database, and a `getCommandLineParser` command to centralize the arguments parsing and validation. The opening of the database based on the CLI arguments and options is now centralized in `DatabaseCommand.execute`, making it easy to add new database opening features (like YubiKey support for the CLI). Also a couple of bugs fixed: * `Create` was still using `stdout` for some error messages. * `Diceware` and `Generate` were not validating that the word count was an integer. * `Diceware` was also using `stdout` for some error messages.
8521d7c to
00b4262
Compare
This was referenced Jun 10, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR cleans up the
Commandclasses in the CLI, introducing aDatabaseCommandclass for the commands operating on a database,and a
getCommandLineParsercommand to centralize the argumentsparsing and validation.
The opening of the database based on the CLI arguments and options
is now centralized in
DatabaseCommand.execute, making it easy toadd new database opening features (like YubiKey support for the CLI).
Also a couple of bugs fixed:
Createwas still usingstdoutfor some error messages.DicewareandGeneratewere not validating that the word count was an integer.Dicewarewas also usingstdoutfor some error messages.@droidmonkey let me know what you think! I believe with this PR merged, adding new commands or new database opening features will be faster and safer.
@phoerious can you take a look at how I'm using the
QSharedPointerfor theQCommandLineParser?? It's my first time using anything other than "vanilla" pointers.Type of change
Testing strategy
Checklist:
-DWITH_ASAN=ON. [REQUIRED]