Commit Graph

4899 Commits (refactor/python-detect)

Author SHA1 Message Date
Augusto Monteiro 873b231a54 Merge pull request #990 from forslund/feature/downloader
Add class for handling downloads
2017-08-16 12:54:18 -04:00
Steve Penrod 29ee8bb26d Changed from .pth to add2virtualenv equivalent
The mycroft-core.pth file wasn't addequate to get Python to fully
accept mycroft-core into the system path.  For example, some of
the integration tests would fail in odd ways.

So switched to using add2virtualenv, which is was fine.  But you
can't call that within the dev_setup.sh script since it is a
shell function.  So instead this code does essentially what
add2virtualenv does.
2017-08-16 02:02:39 -07:00
Åke Forslund f19ac28a5c Add some safety to the add/remove context methods
====  Tech Notes ====
Invalid context or word arguments will now raise ValueError
2017-08-15 21:27:19 -05:00
Åke Forslund b1082d4b27 Only use latest meaning of each keyword 2017-08-15 21:27:19 -05:00
Åke Forslund ddb514e470 Add basic tests for context manager 2017-08-15 21:27:19 -05:00
Åke Forslund 242770aa94 Update context config options
- options grouped under "context"
- added option to activate "greedy" context gathering
2017-08-15 21:27:19 -05:00
Åke Forslund d7cbe3065a Add decorators making context management easier 2017-08-15 21:27:19 -05:00
Åke Forslund c9b19cb97e Fix remove_context
Also remove debug prints
2017-08-15 21:27:19 -05:00
Åke Forslund 471a8d8360 Add configuration settings for using adapt's context 2017-08-15 21:27:19 -05:00
Å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