Multithreading, terminal colors, improved prompts, and automatic module installation #54
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.
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
I added multithreading, terminal colors, improved prompts, and added automatic module installing. I also cleaned up the code for consistency.
Describe the changes proposed in the pull request A quick description of the changes made to the repository
The program can generate codes more efficiently, has colored messages in the terminal, asks the user until they provide a valid input, and installs modules if the user wants.
What is the current behavior? (You can also link to an open issue here)
The program only runs on one thread. Everything is black and white. The program raises an error if an invalid value is given by the user. The program only tells the user a command to run in order to install dependencies.
What is the new behavior (if this is a feature change)?
The program can now run multiple threads at once for faster generation. The prompts are now in colors to be more aesthetically pleasing. The prompts now ask until you provide a valid answer instead of throwing errors. If the modules are not installed the program lets the user choose if they would like to install them.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No. It only adds an additional prompt to the start.
Other information:
I removed unused functions, changed all quotes to single quotes for consistency and separated introduction into separate functions.