Commit Graph

1690 Commits (9483d0a50e50753c8b17f7696876fba9bebd27bf)

Author SHA1 Message Date
Åke Forslund b9a054e669 Manual context injection
A skill can inject context to enable and disable intent handlers
automatically depending on previous conversation.
2017-08-15 21:27:19 -05:00
Steve Penrod dd2aa0900c Add mycroft-core to virtualenv path
Add the insertion of mycroft-core in the virtualenv created by
dev_setup.sh.  It becomes part of the python2.7 site-packages.
This is needed for running mycroft-core pieces directly from
the command line, after performing "workon mycroft".
2017-08-15 18:54:11 -07:00
Augusto Monteiro 47232ca2d7 Merge pull request #991 from forslund/subscription-api
Add subscription endpoint to DeviceApi
2017-08-15 14:57:27 -04:00
Åke Forslund 025a771fe1 Add class for handling downloads
====  Tech Notes ====
Downloader() is a Thread subclass starting and handling a download. The
property done and status is set when the download is completed or
failed.
download manager ensuring continuation of started downloads (per process)
complete_action, a function to be called after download is complete can be
supplied to the downloader
2017-08-15 14:42:32 +02:00
Åke Forslund e40ad7e4dc Add subscription endpoint to DeviceApi
====  Tech Notes ====
The DeviceApi now has a `get_subscription()` method returning the entire
subscription structure and the property `is_subscriber` returning True
if the device is connected to a paying account and False if it's a free
account.
2017-08-15 09:03:30 +02:00
Steve Penrod 5e2567c481 General cleanup of Mycroft Skill Manager (msm) (#973)
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
2017-08-14 17:02:41 -05:00
Åke 6fc6c7e1fb Merge pull request #988 from MycroftAI/feature/issue-984
#984 -- no need to clone all mimic branches for the dev_setup
2017-08-14 07:55:33 +02:00
aatchison 2124d730d2 Commit headline -- not longer than this line (50)
==== Fixed Issues ====
984 - install_mimic.sh -- Mimic shouldn't have to clone all branches
====  Tech Notes ====
This modification clones the mimic repository with a depth of one in
order to reduce download times and local size. A side affect might be
that this would make it harder for developers to checkout different
mimic branches, as they would have to tech them first.
2017-08-14 09:04:52 +09:00
penrods ece734b55a Prevent unneeded mimic compilation in dev_setup.sh
The code that detected existing mimic installs and asked for
confirmation before rebuilding had a few holes:
* A source install of mimic under the mycroft-core tree was missed
* Hitting "enter" or "spacebar" would be interpreted as "yes, rebuild",
  which didn't match the prompt.
2017-08-12 06:40:24 -05:00
Augusto Monteiro 8b1fb5de76 Merge pull request #981 from forslund/pulse-volume
Add handlers for lowering/restoring pulseaudio vol
2017-08-11 11:01:59 -04:00
Åke Forslund 44b68e3f3f Add handlers for lowering/restoring pulseaudio vol
====  Tech Notes ====
pulse_lower_volume() scans through the list of running input sinks and
reduces the volume to 30% of original volume skipping over the stream
named 'mycroft-voice'

pulse_restore_volume() restores the volume again.

If activated with the 'pulseaudio' config parameter they will be called
when mycroft starts/stops listening and starts/stops speaking

==== Environment Notes ====
The Audio->pulseaudio configuration parameter can now be set to 'lower'
to activate this feature
2017-08-11 16:44:24 +02:00
Augusto Monteiro bbde78cee8 Merge pull request #976 from forslund/feature/easier-fallback
Feature/easier fallback
2017-08-10 15:25:14 -04:00
Augusto Monteiro 540adbd195 Merge pull request #959 from forslund/bugfix/issue-958
Make visime stream end together with audio
2017-08-09 13:57:35 -04:00
Augusto Monteiro f2e9d6b2cf Merge pull request #971 from reginaneon/patch-1
Fixing wakeword save
2017-08-09 13:53:58 -04:00
Augusto Monteiro 2b171b4d34 Merge pull request #970 from forslund/bugfix/issue-969
Fix message bus logging for audio service
2017-08-09 13:42:10 -04:00
Augusto Monteiro a5c35c785c Merge pull request #974 from forslund/feature/msm-man-page
Add manual page for msm
2017-08-09 13:40:36 -04:00
Augusto Monteiro bd162a8fde Merge pull request #979 from forslund/bugfix/issue-978
Fix mute mycroft-voice
2017-08-09 13:39:22 -04:00
Åke Forslund dc8b01f61f Fix mute mycroft-voice
====  Fixed Issues ====
#978

====  Tech Notes ====
We name the stream insted of the client. Now mycroft-voice is excluded
from mute.
2017-08-09 17:28:42 +02:00
Åke Forslund 1d7d02161d Add a default shutdown method for fallback skills
====  Tech Notes ====
Adds a shutdown method that removes all handlers registered by the
current instance.
2017-08-09 14:24:21 +02:00
Åke Forslund c363662b67 Remove need for name parameter
====  Tech Notes ====
If name is not provided the class name will be used
2017-08-09 14:18:14 +02:00
Åke 639d365cbe Merge pull request #975 from forslund/bugfix/Mycroft-skill-double-init
Fix double __init__ in MycroftSkill
2017-08-09 13:52:02 +02:00
Åke Forslund 7f5f1ac2c1 Fix double __init__ in MycroftSkill
==== Fixed Issues ====
NONE

====  Tech Notes ====
During earlier rebase it seems like a double instance of __init__ got
into MycroftSkill.

====  Documentation Notes ====
NONE

==== Localization Notes ====
NONE

==== Environment Notes ====
NONE

==== Protocol Notes ====
NONE
2017-08-09 13:31:55 +02:00
Åke Forslund 3dee3b5680 Add manual page for msm
==== 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
2017-08-09 12:39:52 +02:00
el-tocino 08e76e538d added actions to the help section of msm. (#972)
Add actions to the help section of msm.
2017-08-09 08:09:18 +02:00
reginaneon c96d0a3d5b Bug Fix
Bug fix proposed for success wake-word recording. 
Opt: Suggestion to change the save location of recording files as well. 
Otherwise, the user could potentially get the permission denial. 
-NeonGecko.com Inc
2017-08-08 15:38:58 -07:00
Åke ab22106659 Merge pull request #938 from MycroftAI/feature/fallbacks
Add intent fallback system

==== Fixed Issues ====
NONE - replace with issue numbers, e.g. #123, #304

====  Tech Notes ==== 
NONE - explain new algorithms in detail, tool changes, etc.

====  Documentation Notes ==== 
The FallbackSkill needs to be documented in detail for skill creators.


==== Environment Notes ==== 
NONE

==== Protocol Notes ====
multi_utterance_intent_failure replaced with complete_intent_failure
2017-08-08 21:00:51 +02:00
Åke Forslund 86cb1bb462 Fix message bus logging for audio service
==== Fixed Issues ====
#969

====  Tech Notes ====
The criteria for excluding messages were inverted and excluded all
messages containing 'mycroft.audio.service'. This criteria has been
fixed.

====  Documentation Notes ====
NONE - things like description of a new feature or notes on behavior
changes

==== Localization Notes ====
NONE - point out new strings, functions needing international versions,
     etc.

==== Environment Notes ====
NONE - new package requirements, new files being written to disk,
etc.

==== Protocol Notes ====
NONE - message types added or changed, new signals, etc.
2017-08-08 14:23:02 +02:00
Michael Nguyen 3b8de2c094 Merge pull request #964 from MycroftAI/feature/fix-logger2
Fix the logger fix
2017-08-03 17:01:19 -05:00
penrods c138182451 Fix the logger fix
Gotta slow down my fingers.  Mixed "logging" and "mycroft.util.log" into
the non-existent "mycroft.util.logging".  Fixed.
2017-08-03 16:56:55 -05:00
penrods 76ef80e443 Switch to mycroft.util.logger
Changed from a plain logger to mycroft.util.logger
2017-08-03 16:42:26 -05:00
penrods 54bf9b3cb6 Fix a missing logger which caused a crash
Some exception code was attempting to use the LOGGER, but one had
not been created for this file.  So when the exception occurred
it caused a crash.

NOTE: We need to standardize on log/LOG/LOGGER!
2017-08-03 16:42:26 -05:00
Michael Nguyen 4ae511812c Merge pull request #962 from MycroftAI/feature/display_state_manager
Feature/display state manager
2017-08-03 14:21:40 -05:00
Arron Atchison bdfdc1fec5 bump version to 0.8.20 2017-08-03 14:19:29 -05:00
Matthew D. Scholefield fee8ffab59 Change skill-wolfram-alpha to fallback-wolfram-alpha
This is necessary because of the API breaking change
2017-08-03 13:49:32 -05:00
Matthew D. Scholefield 6f1a2dbe55 Convert static methods in FallbackSkill to class methods
This makes it more concise and mimics the behavior of self, but for static methods
2017-08-03 13:49:32 -05:00
Matthew D. Scholefield 3b6942a250 Move intent fallback behavior to new FallbackSkill base class 2017-08-03 13:49:32 -05:00
Matthew D. Scholefield 4afe6687c4 Fix intent failed messages before running fallbacks 2017-08-03 13:49:02 -05:00
Matthew D. Scholefield a86f0478a4 Add intent fallback system
Also removes multi utterence intent fail. Only makes sense to emit an intent_failure regardless of the amount of intents
2017-08-03 13:49:02 -05:00
Michael Nguyen ee3391db29 pep8.. 2017-08-03 13:04:12 -05:00
Michael Nguyen 4355dad333 moved init disp websocket to enclosure 2017-08-03 13:01:11 -05:00
Augusto Monteiro 4c1fbcb596 Merge pull request #961 from forslund/bugfix/issue-960
Catch exceptions in user provided stop() method
2017-08-03 12:03:50 -04:00
Åke Forslund db6127a0ed Catch exceptions in user provided stop() method
==== Fixed Issues ====
#960

====  Tech Notes ====
The messagebus handler for "mycroft.stop" halts and exits if an
exception occurs in any methods that are registered to that name. The
handler executes the stop() method that's provided by the user and is
not verified. To ensure that other skills are unaffected exceptions in
the user provided method are caught.

====  Documentation Notes ====
NONE - things like description of a new feature or notes on behavior
changes

==== Localization Notes ====
NONE - point out new strings, functions needing international versions,
etc.

==== Environment Notes ====
NONE - new package requirements, new files being written to disk,
etc.

==== Protocol Notes ====
NONE - message types added or changed, new signals, etc.
2017-08-03 14:14:31 +02:00
Åke Forslund 5b4ae74cfb Make visime stream end together with audio
===Fixed issues ====
#958

====  Tech Notes ====
Adds method clear_visimes() to voice playback thread to stop visime stream
instead of having visime stream check for signals.

====  Documentation Notes ====
NONE - things like description of a new feature or notes on behavior
changes

==== Localization Notes ====
NONE - point out new strings, functions needing international versions,
     etc.

==== Environment Notes ====
NONE - new package requirements, new files being written to disk,
etc.

==== Protocol Notes ====
NONE - message types added or changed, new signals, etc.
2017-08-03 10:57:14 +02:00
Åke Forslund a0ac65ac35 Fix rebase issues introduced with audio subsystem
util/signal.py add missing import time
move tts thread shutdown/clear to audio/speech.py
2017-08-02 16:53:48 -05:00
aatchison 5f5aeedd15 Commit headline -- not longer than this line (50)
Add entry point to mycroft base setup. This allows setuptools to
include it in the build.
==== Fixed Issues ====

====  Tech Notes ====
NONE - explain new algorithms in detail, tool changes, etc.

====  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.
2017-08-02 16:30:54 -05:00
Steve Penrod 8295821f09 Fix Github pull request doc link 2017-08-02 13:14:50 -05:00
penrods a3feed6f01 Add suggestion and examples of imperative text
Add grammar suggestions for consistent git messages.  Following the same
mood makes generation of release notes and working in Github in general
easier.

Based on comments found at:
http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
2017-08-02 12:54:44 -05:00
penrods 6ed479346c Adding commit template and dev_setup.sh support
The commit template provides a developer with a structure to follow
for communicating with others on the mycroft-core project.

====  Tech Notes ====
Please use this template from here on!
2017-08-02 12:54:44 -05:00
Michael Nguyen 58288b4c11 fixed permissions bug 2017-08-02 12:46:05 -05:00
Michael Nguyen c1041b9902 fixed permissions bug 2017-08-02 12:34:04 -05:00