Semi-major rework of the Mycroft Skill Manager (MSM), including:
* Add parse skill name strings support for quoted strings, e.g.:
msm install "daily meditation"
Previously it would search for "daily" and also search for
"meditation", but both independently.
* All commands return distinct error codes. Commands with
that perform multiple things, such as 'msm default' will
continue on a failure of one skill and return the highest
error code ultimately.
* Add 'msm remove', essentially the inverse of 'msm install'
* Changed the example install URL to a penrods repo since the
ethanward repo no longer exists.
* Reworked skill list caching to behave properly with $( )
subprocess operations.
* Output for "install" and "remove" is now between hyphen
lines, making them easier to parse.
* Revamped many informational and error messages
* Published under Apache 2.0 license
A corresponding update to the skill-installer will take
advantage of these changes.
==== Tech Notes ====
fallback-aiml was added to list of default skills in msm and the
requirement aiml==0.8.6 was added to requirements
==== Documentation Notes ====
NONE - description of a new feature or notes on behavior changes
==== Localization Notes ====
NONE - point to new strings, language specific functions, etc.
==== Environment Notes ====
NONE - new package requirements, new files being written to disk, etc.
==== Protocol Notes ====
NONE - message types added or changed, new signals, APIs, etc.
Clean-up of many things about MSM:
* Improve help message, documenting all options
* Make the DEFAULT_SKILLS list readable (wrapped lines)
* Prefix messages with ERROR or WARNING
* Fix return codes, they can't be > 255. 301 and 303 are now 201 and 203
* Cache list of skills (instead of hitting web repeatedly)
* Improve code spacing, comments
* Improve format of output messages
* Sort skills from 'list' and 'search' commands
* Return result codes (was always 0)
==== Tech Notes ====
The "install" skill will be updated to use result codes instead
of searching for specific message strings. It was already
broken due to mismatch of the success message string.
==== Localization Notes ====
With error codes, output strings are less important
==== Fixed Issues ====
#966
==== Tech Notes ====
Adds a basic manual page for msm, required for packaging for some OS'es
==== Documentation Notes ====
NONE
==== Localization Notes ====
Might need translation at some point
==== Environment Notes ====
msm/man1/msm should be copied into the manual man1 directory
(/usr/local/share/man/man1) and mandb needs to be run after a package
install.
==== Protocol Notes ====
NONE