Commit Graph

525 Commits (02eb1b8277d06c61a2448a6a9e2767f7cb1cc54a)

Author SHA1 Message Date
Åke Forslund e61b516ea1 Add more docstrings 2017-08-22 07:40:28 +02:00
Åke Forslund 12bf78cd5f Move funcs only used in skill_tester from core.py
====  Tech Notes ====
Some functions have been orphaned in core.py and are only used in the
tests. To clean up these have been moved to where they're used.
2017-08-21 15:59:48 +02:00
Åke Forslund bb0fbb51ed Cleanup skill service main
====  Tech Notes ====
Minor cleanup and comments
2017-08-21 15:59:48 +02:00
Åke Forslund ebcbbd3a60 Fix skill container
==== Fixed Issues ====
#1007

====  Tech Notes ====
The converse system changed the api for the load_skill() function this
since the skill_container wasn't updated accordingly it stopped working.
This PR makes updates the container to use the new interface.
2017-08-21 15:09:51 +02:00
Jarbas f04f5107e7 small fix (#1005) Rebase issues with converse method
====  Tech Notes  ====
- Use skill id instead of name
- use time() function correctly
2017-08-21 09:18:01 +02:00
Åke Forslund eb4991ade9 Fix multiple reloads of skills at startup
==== Fixed Issues ====
#1001

====  Tech Notes ====
Previously the skills were reloaded a couple of times during startup
since updates of the .pyc file and possible the settings.json file were
made.

This commit adds a bit finer control over which files to check.
Currently all files in skill root except ones ending in .pyc and the
settings.json are checked along with all visible subdirectories
2017-08-18 11:41:14 +02:00
Michael Nguyen f2f5925b09 fixing issue 998 2017-08-17 22:05:49 -05:00
Matthew D. Scholefield 9de5a13659 Add decorator support for intent files and fix regular decorator 2017-08-17 16:01:11 -05:00
Matthew D. Scholefield 7b28e7e61d Make PadatiousService inherit from FallbackSkill to fix new fallback changes 2017-08-17 16:01:11 -05:00
Matthew D. Scholefield e3da4dbcb8 Train on initialization in case no intents are added 2017-08-17 16:01:11 -05:00
Matthew D. Scholefield 3aa52273f4 Add notification when padatious not installed 2017-08-17 16:01:11 -05:00
Matthew D. Scholefield 69d17a373b Create PadatiousService and add padatious to requirements.txt 2017-08-17 16:01:11 -05:00
Jarbas d661b8d2e7 Add conversational support to skill system
The most recently used skills now have an opportunity to preview all
utterances before they hit the intent system.

==== Tech Notes ====
Skills get a preview in the order of activation -- most recent first --
and if they can consume the utterance or ignore it. If consumed,
processing stops. If ignored, the next most recent skill gets a shot
at it. Finally, if no skill consumes it the intent system takes over,
running as it always has.

Skills remain "active" for 5 minutes after last use.

A skill achieves this by implementing the converse() method, e.g.

def def converse(self, utterances, lang="en-us"):
    if .... :
        return True  # handled, consume utterance
    else:
        return False  # not for this skill, pass it along
2017-08-17 12:09:17 -05:00
Åke Forslund 811cbdb6da Remove requrement to build Intents
====  Tech Notes ====
IntentBuilder objects always need to be built into an Intent to be
usable in mycroft. Since this is always neccessary the code doing this
can be moved so users don't need to do this step.

This commit makes the `register_intent()` method check the handler
argument type, if it's an IntentBuilder object it builds the Intent, if
it's an Intent it continues as normal, if it's any other type it will
raise a ValueError
2017-08-17 11:49:00 +02:00
harika 4c3dd3aa7c Updating skill_tester to automate skills testing(regression) 2017-08-17 02:05:02 -05:00
harika 632df2a498 Update tests 2017-08-17 02:05:02 -05: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 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
Å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 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
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
Å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 e7c55aaa43 Merge pull request #933 from MycroftAI/feature/skill-configuration
Feature/skill configuration
2017-08-02 08:57:28 +02:00
Michael Nguyen 48b26d1fbd added new test and put back is_stored property 2017-08-01 13:52:51 -05:00
Åke Forslund 9c49f97421 Audio service is_playing property 2017-07-31 13:37:18 +02:00
Åke Forslund 6f37d3c8f8 Fix bug in track_info_method
* import Message to allow audio service to reply info
* Add default message to audio service class
2017-07-31 13:37:18 +02:00
Åke Forslund 839803c958 Rename messages.
As requested by Augusto Monteiro
2017-07-31 13:37:17 +02:00
Åke Forslund 86a557e1ac Docstrings! 2017-07-31 13:37:17 +02:00
Åke Forslund c81ad57ebf Populate AudioService class with more methods
Pause, resume, next and previous added to the interface.
The play method was updated to add 'file://' to uri's lacking uri type.
2017-07-31 13:37:17 +02:00
Åke Forslund 5c874677cc Add check for valid type of tracks 2017-07-31 13:37:17 +02:00
Åke Forslund 44a7c5ec0c Fix playback_control skill 2017-07-31 13:37:17 +02:00
Åke Forslund 2270448fff Fix pep8 errors 2017-07-31 13:37:17 +02:00
Åke Forslund 3001dd5a83 Move backend base class to audio/services 2017-07-31 13:37:17 +02:00
Åke Forslund c7ad6b11bb Move audio service to separate process. 2017-07-31 13:37:17 +02:00
Åke Forslund ac5bd17041 Add chromecast service
Chromecast can be manually added with a backend entry with type set to "chromecast" or the service can autodetect all chromecast and register them with their names by setting the Audio configuration parameter autodetect-chromecast set to true.

Currently this implementation is very basic and is using the default media controller. This limits the usable uri's to http(s), adding support for local files and hopefully more services will be added later.
2017-07-31 13:37:17 +02:00
Åke Forslund 67502372bf fix pep8 issues 2017-07-31 13:37:17 +02:00
Åke Forslund e55cd018f2 Activate default-backend option 2017-07-31 13:37:17 +02:00
Åke Forslund b098f2ad30 Make sure mopidy startup doesn't block 2017-07-31 13:37:17 +02:00
Åke Forslund ee5141ed6f Make all audio backend build on the base class
Abstract base class is now a bit more lenient
2017-07-31 13:37:16 +02:00
Åke Forslund 34dd679d3e Fix mopidy configuration 2017-07-31 13:37:16 +02:00
Åke Forslund 8686cade3b Update service alias to use config name 2017-07-31 13:37:16 +02:00
Åke Forslund 06a9eb7ee5 Initial update to follow changes in mycroft 2017-07-31 13:37:16 +02:00
Åke Forslund e6723b2a56 Add backend selection
The user can now specify which backend to use to play media. default the keywords are the name of the backend (vlc, mpg123, mopidy) but can be set with the config.

Example:
audio.mopidy.name = "livingroom"

A possible user interaction might be

- "Hey mycroft, play the news in the livingroom"

The detection is very basic and not very elegant but works as a proof of concept.
2017-07-31 13:37:16 +02:00
Åke Forslund 8078bdd4c2 Correct return value from track_info 2017-07-31 13:37:16 +02:00
Åke Forslund 37b8c17121 Add name property to VlcService 2017-07-31 13:37:16 +02:00
Åke Forslund 4af620c968 Add configuration handling for mpg123 backend 2017-07-31 13:37:16 +02:00
Åke Forslund 7ea387988d Add vocab dir to project 2017-07-31 13:37:16 +02:00
Åke Forslund a28a435ddf Add configuration options 2017-07-31 13:37:16 +02:00
Åke Forslund 26e63cdff3 Add abstract base class for audio backends 2017-07-31 13:37:16 +02:00
Åke Forslund 717c6fa49b Add track_info to audio service connection 2017-07-31 13:37:16 +02:00
Åke Forslund f596992a88 Remove unused vocabulary. 2017-07-31 13:37:16 +02:00
Åke Forslund 89d4cc5f0a Add basic configuration to activate services 2017-07-31 13:37:16 +02:00
Åke Forslund 89adf6e8ac Initial commit of audio service
Three backends have been added, mopidy, vlc and mpg123. Depending on uri type an apporpriate service is selected when media playback is requested. (for example mopidy service can handle spotify://... and local://...)

A playback Control skill can pause, resume, stop change track, etc any started media. So for example if the NPR news skill used this after starting playing the news the user can say "Hey Mycroft, pause" and the playback will pause. The playback control also handles stuff like lowering the volume of the playback if mycroft is asked another question.

Currently the different backend runs under the playbeck control, this was made most for convenience and the services should be moved in the future.

Usage:
The user needs to import the audioservice interface
`from mycroft.skills.audioservice import AudioService`

and initialize an instance in the skill `initialize` method

`self.audio_service = AudioService(self.emitter)`

Then playing an uri is as simple as

`self.audio_service.play(uri)`

TODO:
* Configuration (Alias for the different backends, service specific config, active services, etc.)
* Manual selection of backend (This is prepared in the audioservice interface biut not implemented)
* More feature complete audio service interface (playback control, get trackname etc)
* Separate audio services from the playback control
* Probably lots more
2017-07-31 13:37:16 +02:00
Michael Nguyen 05852f30ef removed logger messages 2017-07-28 15:08:33 -05:00
Michael Nguyen 0c0bc6fd34 fixed bugs 2017-07-28 13:42:18 -05:00
Michael Nguyen 1e8ee03674 fixed pep8 issues 2017-07-27 16:38:24 -05:00
Michael Nguyen 37ada28dbd refactored skill settings and fixed test 2017-07-27 16:28:32 -05:00
Steve Penrod e8e0853825 Merge pull request #838 from MycroftAI/feature/display_state_manager
Feature/display state manager
2017-07-21 19:58:07 -05:00
Åke Forslund 6f41964796 Make name parameter optional.
==== Fixed Issues ====

==== Tech Notes ====
Uses supplied name parameter if present, otherwise uses name of class.

==== Documentation Notes ====
The skill creation documentation should mention that the name parameter
is only an option.

==== Localization Notes ====
NONE

==== Environment Notes ====
NONE

=== Protocol Notes ====
NONE
2017-07-19 16:47:26 -05:00
Matthew D. Scholefield 90aff68034 Reverting "Add intent fallback system (#899)"
This is because this will break wolfra alpha skill unless they update
skills, but if they update before getting the new version, it will also
break wolfram

This reverts commit 6ca4161335.
2017-07-14 17:53:42 -05:00
Matthew D. Scholefield 6ca4161335 Add intent fallback system (#899)
* Create new FallbackSkill base class for implementing fallback behavior
Also removes multi utterance intent fail. Only makes sense to emit an intent_failure regardless of the amount of intents
2017-07-14 17:27:26 -05:00
Michael Nguyen 6eb1c194cb add try except 2017-07-11 18:19:21 -05:00
Michael Nguyen 00bde77400 fixed test 2017-07-11 16:19:05 -05:00
Michael Nguyen b891e03511 implement patch functionality, chaged json structure 2017-07-11 15:25:43 -05:00
penrods e307df2bb4 Duplicate service hack #2... performing check in the Enclosure client after a
60 second delay.  The packaging system was preventing the previous approach
from rebooting.
2017-07-10 23:22:29 -05:00
penrods b6cc47a1a4 Hack to deal with a silly problem happening during upgrade of a Mark 1 from a
0.8.17 or earlier build.  A Series of Unfortunate Events leads to two instances
of the mycroft-skills service running.  This causes double-answers, which is
confusing to everyone.  The root problem that lead to this is corrected in
release 0.8.18, but resolving it in packaging is ridiculously difficult.

So, we'll do this simple hack for the interim.  It is harmless and useless if
not running in the Mark 1 environment.
2017-07-10 22:12:59 -05:00
Michael Nguyen f62a771e28 merge changes 2017-07-06 16:59:26 -05:00
Åke Forslund 28c15eb64e Fix subprocess.call() issue and add error logging. 2017-07-06 15:29:19 -05:00
Michael Nguyen f361392628 Merge branch 'dev' of https://github.com/MycroftAI/mycroft-core into feature/skill-configuration 2017-07-06 12:40:50 -05:00
Michael Nguyen bf48d7b6fb [WIP] need to implement PATCH 2017-07-06 12:40:21 -05:00
Åke Forslund 653d1e6f5e Change logging level for missing dialog/vocab to debug 2017-07-05 19:37:33 +02:00
Åke Forslund 54783a1dd1 Minor cleanup 2017-07-05 19:35:26 +02:00
Åke Forslund a2644bc97c Load data files and decorated intent handlers automatically. 2017-07-05 19:35:26 +02:00
Åke Forslund eb6cd79e52 Minor cosmetic fixes
- underscore in front of variables/methods not intended for users
- docstrings
- remove debug printout
2017-07-05 19:35:26 +02:00
Åke Forslund 7955feaec7 Add support for decorating handlers with intents 2017-07-05 19:35:26 +02:00
Michael Nguyen b6a7234be3 Merge branch 'dev' of https://github.com/MycroftAI/mycroft-core into feature/skill-configuration 2017-06-30 17:36:08 -05:00
Michael Nguyen 01d8a0caf7 [WIP] need to add PATCH for settingsmeta.json 2017-06-30 17:36:04 -05:00
Åke 97af70bb86 Merge pull request #857 from JarbasAI/patch-16
Read Blacklisted skills from config
2017-06-30 22:08:01 +02:00
Jarbas 2c0ed93e4b pep8 2017-06-30 20:27:33 +01:00
Steve Penrod 96c08189ed Revert "This add comments to document the message class" 2017-06-30 00:41:20 +02:00
Jarbas ebe1c7fcea use get 2017-06-29 21:44:21 +01:00
Jarbas 8af5ce09cf read blacklisted skills from config 2017-06-29 20:36:02 +01:00
Art McGee 355225ee3d Merge branch 'dev' into amcgee7_docs 2017-06-29 07:17:19 -07:00
Michael Nguyen d3621b7fca [WIP] refactored 2017-06-28 17:31:35 -05:00
Michael Nguyen 344d53cc7e [WIP] 2017-06-28 11:35:25 -05:00
Michael Nguyen e3b4e7c6e3 [WIP] modify settings.py to post metadata to api, and get settings form api 2017-06-28 11:32:19 -05:00
Åke Forslund e7b2665f80 Enable config updates for skills in container 2017-06-26 13:52:52 -07:00
Augusto Monteiro 'Sparky a4cfd76639 #706 - checking network connection 2017-06-26 13:48:09 -07:00
Augusto Monteiro 'Sparky 8e49947a03 #706 - saying that isn't connected 2017-06-26 13:48:09 -07:00
Augusto Monteiro 'Sparky 6485018bb7 #706 - fixing on raspberry msm 2017-06-26 13:48:09 -07:00
Augusto Monteiro 'Sparky 253e3bdc66 #706 - Using configuration to get msm bin 2017-06-26 13:48:09 -07:00
Augusto Monteiro 'Sparky d09febf3eb #696 - checking connection 2017-06-26 13:48:09 -07:00
Augusto Monteiro 'Sparky e34608e2f9 #696 - listening on connected 2017-06-26 13:45:23 -07:00
Augusto Monteiro 'Sparky ec9746d933 #696 - installing skills on connect 2017-06-26 13:45:23 -07:00
Chris ca9116f87c Fixed typo
There was a typo ("Lodaded" instead of "Loaded") which I have fixed
2017-06-26 13:45:23 -07:00
Åke Forslund 9f5c1d1582 Move ignore SIGCHLD to entry points.
Ignoring SIGCHLD trips up unittests, this was done as the unittest loaded mycroft.skills.core
2017-06-26 13:45:23 -07:00
Åke Forslund 5ac2e5f51e Check if settings have changed with simple hash 2017-06-22 08:36:33 +02:00
Michael Nguyen c0b603ab51 state manager implemented 2017-06-16 13:31:44 -05:00
Steve Penrod c824c03611 Feature/onboarding bug (#811)
* Implementing changes to out-of-the-box experience, providing an "onboarding" process.

* Added a mycroft.api.is_paired() method
* Added mycroft.util.is_speaking and mycroft.util.wait_while_speaking() methods
* RESET now waits for the spoken notice to complete
* Stopped the "Checking for updates" and "Skills updated" prompts (commented out for now, probably will eliminate)
* Wifi setup filters out hidden ("x00") networks
* Visemes should keep up better if they get behind (will skip)
* Mimic is now searched for on the users path
* Onboarding process:
  - wifi setup starts automatically
  - User is walked through the process
  - wake word and button pressing are ignored
  - At end, a short tutorial is given

* Fixing pep8 whitespace errors... grrr

* Typo in onboarding changes prevented pairing for auto-starting

The command "pair my device" needed to be sent as an array, ["pair my device"]
2017-06-07 19:40:34 -05:00
penrods ffc3f6ec60 Implementing changes to out-of-the-box experience, providing an "onboarding" process.
* Added a mycroft.api.is_paired() method
* Added mycroft.util.is_speaking and mycroft.util.wait_while_speaking() methods
* RESET now waits for the spoken notice to complete
* Stopped the "Checking for updates" and "Skills updated" prompts (commented out for now, probably will eliminate)
* Wifi setup filters out hidden ("x00") networks
* Visemes should keep up better if they get behind (will skip)
* Mimic is now searched for on the users path
* Onboarding process:
  - wifi setup starts automatically
  - User is walked through the process
  - wake word and button pressing are ignored
  - At end, a short tutorial is given
2017-06-07 11:45:06 -05:00
kfezer 3988da5ffb Merge pull request #692 from forslund/feature/issue-691
#691 - adding setting per skill
2017-05-30 16:47:33 -07:00
Åke Forslund 986cf55d1b Use exit status of msm to determine install success
- msm will now return immediately if an error occurs
- install_default_skills now checks exit status instead of text output
2017-05-23 07:47:06 +02:00
Åke Forslund bcd7776a38 Fix grammar issue. 2017-05-20 08:31:39 +02:00
Åke Forslund 3a71f85301 Replace load_settings() with a settings property
settings are now loaded and created when required and not directly at
load of skill.
2017-05-20 08:31:22 +02:00
Åke Forslund 0ef94689bf Add docstrings. 2017-05-20 08:31:07 +02:00
Åke Forslund e79dee92e9 Only store settings object after new write 2017-05-20 08:30:31 +02:00
Åke Forslund 40010e90f0 Store settings object on shutdown 2017-05-20 08:30:07 +02:00
Åke Forslund b6a34f8cee Add skill settings to skills 2017-05-20 08:29:05 +02:00
Åke Forslund 4912573cab Remove ignoring SIG_CHLD
Ignoring SIG_CHLD can be convenient but parts of the python standard
library relies on the behaviour of SIG_CHLD and will not work correctly
in this configuration.
2017-05-20 08:16:52 +02:00
penrods 3c2b78c670 Stopping attempt to perform Skill Update unless connected to the internet
Stopping attempt to perform Skill Update unless connected to the internet.  Also added translatable versions of spoken messages.
2017-05-18 16:53:10 -03:00
Åke Forslund c89cb36670 Enable config updates for skills in container 2017-05-18 16:53:10 -03:00
Augusto Monteiro 'Sparky f9463da857 #706 - checking network connection 2017-05-18 16:51:17 -03:00
Augusto Monteiro 'Sparky a5bdc3e134 #706 - saying that isn't connected 2017-05-18 16:51:17 -03:00
Augusto Monteiro 'Sparky 7789db4e3c #706 - fixing on raspberry msm 2017-05-18 16:51:17 -03:00
Augusto Monteiro 'Sparky cbd2bf99d8 #706 - Using configuration to get msm bin 2017-05-18 16:51:17 -03:00
Augusto Monteiro 'Sparky 190a72da8d #696 - checking connection 2017-05-18 16:51:17 -03:00
Augusto Monteiro 'Sparky 92bc82be15 #696 - listening on connected 2017-05-18 16:49:07 -03:00
Augusto Monteiro 'Sparky 6a0f608207 #696 - installing skills on connect 2017-05-18 16:49:07 -03:00
Chris b1abdba19c Fixed typo
There was a typo ("Lodaded" instead of "Loaded") which I have fixed
2017-05-18 16:49:07 -03:00
Åke Forslund 484d4a9ce3 Move ignore SIGCHLD to entry points.
Ignoring SIGCHLD trips up unittests, this was done as the unittest loaded mycroft.skills.core
2017-05-18 16:49:07 -03:00
Augusto Monteiro 'Sparky 650df97f0e #683 - removing msm path configuration 2017-05-18 16:49:07 -03:00
Åke Forslund ae38e90ec7 Fix skill container.
Switch from Intent to IntentService.
2017-05-18 16:49:07 -03:00
Augusto Monteiro 'Sparky be2d97907a #683 - removing msm path configuration 2017-04-21 11:00:35 -07:00
Åke Forslund 44949f2d8b Fix skill container.
Switch from Intent to IntentService.
2017-04-21 15:16:49 +02:00
Augusto Monteiro 'Sparky 2a4e5c3e73 #671 - comparing the dates inside de loop instead of add all in a array 2017-04-19 20:08:48 -05:00
Augusto Monteiro 'Sparky 4e885ee4c5 #671 - making auto load doesn't watch hidden folders changes 2017-04-19 20:08:48 -05:00
Augusto Monteiro 'Sparky d21b0bd948 #671 - Fixing autoload when folder doesn't exists 2017-04-17 11:27:07 -07:00
Augusto Monteiro 'Sparky 237827a099 #671 - fixing auto load 2017-04-17 10:26:34 -07:00
Steve Penrod c6e6c8244a Reverting to 'msm' (as in repo) instead of 'msm.sh' 2017-04-14 13:50:30 -07:00
Steve Penrod 60abb41fc6 Fix for issue #659, broken git install after recent changes
There are several issues with the changes recently made to break out
Skills from mycroft-core.
* The subdirectory mycroft/skills/intent/ is left behind when you do
  a pull, so the change to core.py that tries to
  "import mycroft.skills.intent" gets confused.  I renamed the file
  intent.py to intent_service.py
* Added a bunch of comments
* Made a bunch of functions "private", using the leading _
* The MSM install was failing.  Still working on that, but we should
  probably make msm.sh a part of mycroft-core instead of its own
  repo.
* Restored some mycroft.conf values that I noticed got lost during
  an automatic merge.
2017-04-14 01:53:29 -07:00
Åke Forslund e9c94d0305 Update skill container to use Intent class
the command line to enable the intent parsing is now --enable-intent
2017-04-08 11:41:31 +02:00
Åke Forslund 95641451fa Fix PEP-8 issues 2017-04-08 11:08:13 +02:00
DMendyke ed21c1471c Merge pull request #638 from MycroftAI/dmendyke.service.instance
Code to prevent multiple instances of a service
2017-04-07 15:40:26 -07:00
Augusto Monteiro 'Sparky 621c7c4437 #636 - Fixing pep8 2017-04-06 17:14:18 -07:00
Augusto Monteiro 'Sparky b35c012692 #636 - Adding ignore logs 2017-04-06 17:14:18 -07:00
Augusto Monteiro 'Sparky 13fe3fe12a #636 - Removing old skills folder 2017-04-06 17:14:18 -07:00
Augusto Monteiro 'Sparky 54db8c6c33 #546 - Fixing pep8 2017-04-06 16:55:09 -07:00
Augusto Monteiro 'Sparky 18f4ff3e90 #546 - Fixing pep8 2017-04-06 16:42:43 -07:00
Augusto Monteiro 'Sparky 2e172433aa #546 - Adding feedback to user that mycroft is updating 2017-04-06 16:30:58 -07:00
Augusto Monteiro 'Sparky f708a1e15c #546 - Using events 2017-04-06 16:08:23 -07:00
dmendyke 0bfbe58467 pep8 2017-04-06 15:57:34 -07:00
dmendyke c7645be49c Added PID locking to both 'voice' and 'service' services. 2017-04-06 12:59:31 -07:00
Augusto Monteiro 'Sparky b5aeca02ac #546 - Removing unsed import 2017-04-05 17:11:20 -07:00
Augusto Monteiro 'Sparky aeb73054da #546 - Installing Default Skills 2017-04-05 16:46:54 -07:00
Augusto Monteiro 'Sparky 1f59c50df5 #546 - Removing Skills 2017-04-05 16:23:42 -07:00
dmendyke f81d5b1249 Added locking PID file creation to 'skills' service 2017-04-05 15:16:32 -07:00
Augusto Monteiro 'Sparky 9728e645bc #546 - Adding Skill Install 2017-04-05 15:11:45 -07:00
Augusto Monteiro 'Sparky f76685d46d #546 - Removing prioritary skills loading 2017-04-04 17:11:33 -07:00
Augusto Monteiro 'Sparky 1150fc9a54 #546 - Making Intent a class instead of skill 2017-04-04 16:48:40 -07:00
Augusto Monteiro 'Sparky b89ffcfd37 #546 - Removing skills 2017-04-04 11:12:11 -07:00
Augusto Monteiro 'Sparky 12620694b3 #630 - Fixing SkillInstaller, using text to match instead of exit code 2017-04-03 11:18:56 -07:00
Augusto Monteiro 601948ff3f Merge pull request #533 from MycroftAI/feature/issue-527
#527 - skill to skill installation
2017-03-31 15:04:54 -07:00
penrods bd23d26011 Implementing WolframAlpha changes from issue #600
This limits WolframAlphaSkill to only query WolframAlpha when the utterance doesn't match an intent (calling the fallback handler) and it contains an obvious question phrase.
2017-03-30 17:15:57 -07:00
kfezer a475341346 Merge branch 'dev' into feature/issue-553 2017-03-30 20:49:36 +00:00
kfezer 622765015d Revert "Fixes Issue 588" 2017-03-30 08:50:24 -07:00
kfezer f7c781d119 Update core.py
Fixed Pep8 Issue
2017-03-29 16:27:49 -07:00
kfezer 4c24466120 Merge branch 'dev' into feature/issue-553 2017-03-29 17:28:10 +00:00
kfezer 80b54296b3 Merge pull request #591 from MycroftAI/bugfix/issue-588
Fixes Issue 588
2017-03-29 16:40:06 +00:00
kfezer de27ad4caa Merge pull request #572 from SoloVeniaASaludar/bugfix/issue-571
Update core.py
2017-03-29 16:39:06 +00:00
kfezer cf4bc9a20d Update not.found.dialog
Fixed typo
2017-03-29 09:35:48 -07:00
kfezer 4e1b739474 Update choose.dialog
changed some wording
2017-03-29 09:35:28 -07:00
Augusto Monteiro 814f2fb441 #527 - fixing pep8 2017-03-28 11:20:00 -07:00
Augusto Monteiro 5ec0d0d48a #527 - cleaning all events 2017-03-28 11:20:00 -07:00
Augusto Monteiro 0c60da0883 #527 - cloning msm 2017-03-28 11:20:00 -07:00
Augusto Monteiro 5def9aceca #527 - Fixing rename 2017-03-28 11:20:00 -07:00
Augusto Monteiro 2b96f2dd19 #527 - Adding msm install script and renaming skill 2017-03-28 11:20:00 -07:00
Augusto Monteiro 1f363a245b #527 - skill to skill installation 2017-03-28 11:20:00 -07:00
kfezer@gmail.com 348a9111a2 modified: mycroft/skills/core.py
Fixed typo
2017-03-27 13:56:13 -07:00
Åke Forslund be8dd47250 Add expect_response option to speak_methods
if expect_response flag is set to True the stt will be triggered just as if the wakeword has been received or the button on the mycroft enclosure has been pressed.
2017-03-17 20:20:27 +01:00
SoloVeniaASaludar 852d1d3c15 Update core.py 2017-03-16 16:43:53 +01:00
SoloVeniaASaludar a8f7e84a2c Update core.py 2017-03-16 16:29:11 +01:00
Augusto Monteiro 319f39801a #566 - Adding normalize import on wolfranalpha 2017-03-15 14:31:10 -05:00
Åke Forslund 8df393c813 Remove handler from registered_intents list, it wasn't used 2017-03-14 22:01:48 +01:00
Åke Forslund 49c5a3e523 Add debug and error logging 2017-03-14 21:55:04 +01:00
Augusto Monteiro 7c25e56b96 #560 - fixing pep8 2017-03-14 14:34:53 -05:00
Augusto Monteiro 2464e87118 #560 - loading skills sorted 2017-03-14 14:34:53 -05:00
Augusto Monteiro eaac4a1f08 #539 - fixing pep8 2017-03-14 13:57:17 -05:00
Augusto Monteiro 0901f1bafc #539 - fixing pep8 2017-03-14 13:43:45 -05:00
penrods eafcc1abfb Several extensions to text normalization:
* intent_failure message now carries along the utterance's lang code
* normalizing query for Wolfram Alpha
* added normalization of "whats" to "what is".  This is technically incorrect ("whats" means more than one instance of "what", as in "the whats and whys of open source"), but that is a rare phrase.  Unfortunately, several STT engines incorrectly output things like "whats 8 + 4", which is grammatically incorrect.  So we'll handle the common and potentially screw up the uncommon.
* more parsing test cases, including a few corrections
2017-03-14 13:43:45 -05:00
Steve Penrod 883848fa11 Fixed typo (parser instead of parse)
Fixed typo (parser instead of parse)
2017-03-14 13:43:45 -05:00
penrods cfa79e03a2 Fixes issue #539
The utterance is now placed on the bus along with its language code.  If not specified, it uses "en-us".

Added a new mycroft.util.parse module.  It contains the normalize() function.  Normalization currently does two things:
  * Expands contractions ("they're" -> "they are", etc)
  * Optionally removes articles ("a", "an", "the").  Removing is the default.
  * Textual numbers become digits, up to 20.  E.g. "What is the weather in four days" becomes "What is weather in 4 days".

NOTE:  This is potentially a breaking change!  Remove "the", "a" and "an" from your .voc files!

Skill changes:
  * I cleaned up the .voc files for the default Skills.
  * Split the date_time keyword into an extra entity.  Now a "QueryKeyword.voc" exists, with "what|tell" instead of combing that into "what is time" in the TimeKeyword.voc.
  * Volume skill now accepts 1-11, e.g. "turn volume to 11"
2017-03-14 13:43:45 -05:00
Augusto Monteiro 621faef118 Merge pull request #550 from JarbasAI/patch-3
load intent skill first #552
2017-03-14 11:43:39 -05:00
JarbasAI 12c299789a autopep8 missed line 85 2017-03-14 11:33:15 -05:00
JarbasAI 870e827b5d autopep 8 2017-03-14 11:12:34 -05:00
Åke Forslund f0eb55effb Add functionality to remove and restore intents. 2017-03-13 18:15:12 +01:00
JarbasAI 9d55a6ab2d Update main.py 2017-03-12 16:44:46 -05:00
JarbasAI 07864cb6c9 list of pripritary skills
generalized for more skills
2017-03-12 16:42:42 -05:00
JarbasAI 5714bc608f pep 8 2017-03-11 16:03:41 -06:00
JarbasAI 00cfbd7f1b load intent skill first
intents for skills loaded before intent skill were not executing because register_intent messages were missed
2017-03-11 15:50:30 -06:00
JarbasAI b0bca504ee added blacklist check to load_skill
skill blacklisting was checked in load_skills which is no longer used in favor of watch_skills calling load_skill directly
2017-03-11 13:46:18 -06:00
JarbasAI b13070f276 added reload_skill flag 2017-03-09 01:56:23 -06:00