Takes in arguments for both test_setup.py and behave test runner. Parses
any args for test_setup and passes any remaining arguments to behave.
This moves argparsing out of the test_setup main() allowing the helper commands
to pass in pre-parsed arguments rather than adding logic inside main to
differentiate between a list and a preparsed arument object
Add a cl tool to start mycroft to listen: mycroft-listen
Alternative triggers. #1357 - Added feature to activate via command line
This can be triggered in most desktop enviroments via short cuts
==== Documentation Notes ====
Activates the mycroft listening feature.
On branch feature/mycroft-listen_cli_tool
Changes to be committed:
new file: mycroft-listen
Many versions of Linux (most Debian-based versions) support a mechanimsm
based on a link called "sensible-editor", which is configured to invoke
the user's preferred editing tool.
To get colorization help, the temp file is now named with a ".json"
extension. Most editors can colorize appropriately based on that.
The new mycroft-config utility simplifies management of the the
various configuration files that control Mycroft. Commands include:
edit, show, get, set, reload.
* mycroft-config edit (default|remote|system|user)
Open the requested file in an editor (nano by default), performing
JSON validation warnings to minimize accidental edit errors.
* mycroft-config show (default|remote|system|user)
Dump the selected file with nice highlighting using jq
* mycroft-config get <var>
Load the mycroft.conf stack, outputting the effective value(s). The
<var> is specified using jq-style specifiers. For example:
mycroft-config get enclosure.platform
mycroft-config get location
mycroft-config get
* mycroft-config set <var> <value>
Set the given variable in the "user" configuration file. Examples:
mycroft-config set lang "es-es"
mycroft-config set tts.mimic.voice "ap"
* mycroft-config reload
Sends a signal on the messagebus to tell services to reload configs.
This automatically occurs after a 'set' or 'edit' command.
Several minor changes:
* Add mycroft-start and mycroft-stop, which can be used as commands anywhere
if the user has added this to the PATH. They are shortcuts to the
start-mycroft.sh and stop-mycroft.sh scripts.
* Add to the mycroft-help command reference
* Add "reset" parameter for start-mycroft.sh, which forces a service restart.
If a service is currently running, it will not restart by default anymore.
* Make the 'enclosure' service part of 'all' regardless of platform. This
makes sense not that it can handle a remote GUI connection.
* BUG: mycroft-stop would sometimes show odd messages if the skill process
had active child processes.
* Unify the command line experience across platforms
Interacting with Mycroft was slightly different on different platforms
(Mark 1, Github, Picroft), which resulted in confusion and the beginnings of a
documentation/support nightmare. This moves several of the common commands
into a mycroft-core/bin folder instead of being build in packaging or part
of the Picroft package only.
This required a small changes to the common scripts, in addition to adding
the new scripts. Here are details:
* dev_setup.sh
- Stubbed out a setup wizard (TODO)
- Jumped to latest version of pip (18.0)
- Set execution flags for new scripts
* start-mycroft.sh
- Allow auto-execution of dev_setup.sh
- De-sourced the stop-mycroft.sh calls (not needed)
- Add quotes to better handle paths with spaces
* stop-mycroft.sh
- Return exit code to show if a service was stopped or killed
- Extend the time to wait for a gently shutdown from 2 secs to 5
- Changed to say "messagebus.service" instead of just "service" to be more clear (the name "service" means nothing to users, but "bus does")
* venv-activate.sh
- Added help
- Added -q or --quiet mode
- Added toggled availability of 'mycroft-venv-activate' and 'mycroft-venv-deactivate' aliases. Only one is available at any given time.
New scripts:
* mycroft-cli-client: start up the CLI
* mycroft-help: shows hints on using mycroft
* mycroft-mic-test: runs the basic record/playback, playing nicely with a running Mycroft by stopping and restarting services as appropriate
* mycroft-pip: manage the venv via pip
* mycroft-say-to: send utterances, like a user spoke them
* mycroft-speak: speaks the given phrase using Mycroft
* mycroft-skill-testrunner: invoke the single-skill test runner
All of these scripts are easy to discover by typing "mycroft-" then
hitting the TAB key.
==== INSTALLER NOTES ====
* We no longer need to create mycroft-cli-client and mycroft-pip in the Debian packages.
* mycroft-core/bin should be added to the path
* Corrections after review
Several minor corrections, plus added wrappers for the 'msm' and 'msk'
utilities.
* Set executable flag on script files in bin/
The scripts in the bin/ folder needed to be changed to executable within
git to prevent looking dirty after dev_setup.sh has been run.
* Add executable flag to one more script