Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI-GUI option; Optional GUI #8

Open
danilobellini opened this issue Sep 14, 2016 · 0 comments
Open

CLI-GUI option; Optional GUI #8

danilobellini opened this issue Sep 14, 2016 · 0 comments

Comments

@danilobellini
Copy link
Owner

This is a proposal for new features in Dose.

Choosing the wxPython version

Since Dose is compatible with wxPython Classic 2.8, wxPython Classic 3.0 and wxPython Phoenix, I was thinking on a way to let the user choose the visual interface when he/she has more than one wxPython Classic installed (using the wxversion package). That doesn't make much sense on wxPython Phoenix (where wxversion doesn't exist anymore), but on wxPython it would be nice to allow a command line option to choose between wxPython 2.8 and 3.0 when both are installed. Using the idea on #6, it could be done as:

dose --wx 2.8
dose --wx 3.0 # Classic
dose --wx default # including wxPython Phoenix

By default, Dose would be called with --wx default. That should be the way Dose is running by now. The other options would call wxversion.select before running Dose, and it should work with any parameter that function accepts (besides default).

Dose without wxPython

Nothing stops Dose from having multiple interfaces implemented. I was thinking on this feature when the dose.compat.wx object was written: this object should allow importing wx without actually needing wx.

Perhaps it would be better to avoid the --wx default, and break the --wx in 2 parameters:

dose --ui wx --wxversion 3.0

For now, only the wx UI exists, but other user interfaces (e.g. tk, gtk, curses) might exist in the future. The --wxversion would only exist when wxPython classic is installed (e.g., when the wxversion module can be imported).

Dose without a GUI (CLI Dose)

Some people might want to use Dose with its resources (the watcher and runner) completely without a GUI. It's related to the enhancement proposal #7, as a CLI version of Dose would be easier to run in a docker container with something like docker run -it --rm -v "$(pwd)":/src some_image_with_dose test_job_command.

Dose can be enhanced to be a CLI-only application (without removing its GUI capabilities) in at least 3 different ways:

  • Including a --nogui option or a --ui none, which would behave like it does today when called with trailing arguments as the test job command, but without any GUI;
  • Including a --cli option or a --ui cli, which would show a formatted and colored ASCII traffic light at the end of a test job. There would be only 2 colors in this traffic light, as the "Yellow" step wouldn't ever happen. In a second version of such an interface, it could allow a getch-like input to customize the traffic light (perhaps even disabling it, something that would deprecate the --ui none);
  • Including a --curses option or a --ui curses for a ncurses CLI interface for Dose, with a full ASCII traffic light (if possible).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant