Commit Graph

3087 Commits (refactor/python-detect)

Author SHA1 Message Date
Åke Forslund 1397659c77 Add skill api help to CLI 2021-02-06 17:57:38 +01:00
Åke Forslund 7f3b4e1795 Add skill_api_method decorator
The api methods are now much easier to use, almost transparent. The
current caveat is that only "standarad" python types are acceptable
(int, float, str, list, bool, None) due to the json serialization.

- api methods are now created with the skill_api_method decorator
- both arguments and keyword arguments are sent to the api method
instead of the message object
- api methods now uses a normal return statement instead of having to
handle creating response messages on the bus.

For example if the datetime skill wants to make the datetime string
fetchable simply add the skill_api_method decorator to the
get_display_date method.

    @skill_api_method
    def get_display_date(self, day=None, location=None):
        """Returns the date and time as a string."""
        [...]

The methods return value will be sent back to the caller and can be used
from a skill through

        datetime = SkillApi.get('mycroft-date-time.mycroftai')
        self.log.info(datetime.get_display_date())
2021-02-06 17:57:19 +01:00
Åke Forslund df02bf22b4 Add skill api.
The skill api allows skills to define a public api which can easily be
accessed by other skills over the message bus just as easy as working
with a normal object.

The skill api object is generated from the skill's public_api property. It's a dict where each key is turned into a method on the api object. The method is defined as
  "api_method": {
    "type": message type string
    "func": handler method
    "help": help string for cli
  }

Example skill:

class Test2(MycroftSkill):
    def __init__(self):
        MycroftSkill.__init__(self)
        self.public_api = {
            'speak': {
                'type': 't2.speak',
                'func': self.handle_speak,
                'help': 'speak the test sentence\nand another line\n\nlast'
            },
            'speak2': {
                'type': 't2.speak2',
                'func': self.handle_speak2,
                'help': 'speak the other sentence'
            }
        }

    def handle_speak(self, message):
        self.speak('This is a test')
        self.bus.emit(message.response(data=None))

    def handle_speak2(self, message):
        self.speak('This is another test')
        self.bus.emit(message.response(data=None))
2021-02-06 17:55:34 +01:00
Kris Gesling b1be522972
Merge pull request #2820 from MycroftAI/feature/gui-get
Feature/gui get
2021-02-05 14:41:03 +09:30
Kris Gesling f8f351e4da
Merge pull request #2823 from MycroftAI/bugfix/2822
Reorder operations to ensure removed Skills are first unloaded.
2021-02-05 07:43:16 +09:30
Kris Gesling bfe2b59f90 Add get method for accessing GUI values 2021-02-04 16:12:22 +09:30
Kris Gesling 688d1fe438 Reorder operations to ensure removed Skills are first unloaded.
Prevents SkillManager from attempting to reload a Skill that has
just been removed from the system which results in a
FileNotFoundError

Fixes #2822
2021-02-04 11:56:29 +09:30
Åke Forslund 3ede156c98 Only stop speaking if speaking is active
This also updates the relevant testcase
2021-02-01 20:26:44 +01:00
Åke Forslund 96bbd384ad Add proper docstring 2021-02-01 20:26:44 +01:00
Åke Forslund e3e52d63a0 Remove filesystem signal for stopping speech
The filesystem signal has not been used for quite some time and should
not be used.
2021-02-01 20:26:44 +01:00
Kris Gesling 8e51083882
Merge pull request #2815 from AIIX/Fix/SystemTextFrame
Bug Fix - Use the correct delegate, fix layouts, autofit text for System TextFrame
2021-02-01 11:57:00 +09:30
Kris Gesling f30adb85de
Merge pull request #2804 from forslund/bugfix/audioservice-issues
Bugfix/audioservice issues
2021-01-29 14:55:27 +09:30
Åke Forslund 5df15245c4 Add Todo / comment regarding startup order 2021-01-28 17:24:21 +01:00
Åke Forslund b595f6cdad Always use the plural "Skills" for the service
Change all strings referring to the service to use "Skills service"
2021-01-28 17:24:21 +01:00
Åke Forslund 94d5e34fd0 Add started and alive hooks to skills process 2021-01-28 17:24:21 +01:00
Kris Gesling 8a1ee0e106 Move ready check to enclosure; use ProcessStatus
Previously Mycroft reported mycroft.ready when Padatious had
finished it's first training run. This check has been shifted
to the enclosure service, and starts checking once the Padatious
training is complete.

Currently checks on readiness of audio, speech and skills services.
2021-01-28 17:24:21 +01:00
Kris Gesling 1273425799 add ProcessStatus to key services 2021-01-28 17:24:21 +01:00
Kris Gesling cc3bf5b45a Change names for consistency 2021-01-28 17:21:33 +01:00
Åke Forslund bea1f008c6 Add ProcessStatus class
ProcessStatus tracks the process status and allows callbacks on changes
and status queries over the messagebus.

StatusCallbackMap is used to setup the callbacks

ProcessState is an enum tracking the different states.
2021-01-28 17:21:33 +01:00
neonandrii fb84658e5d Issue-2812 - Allow overridden converse methods to accept messages - FIX: PEP8-line-too-long issue in MycroftSkill.converse 2021-01-26 19:27:33 +02:00
neonandrii 171b266ec1 Issue-2812 - Allow overridden converse methods to accept messages - modified the signature check in SkillManager.handle_converse_request and MycroftSkill.converse, and resolving PEP8 issues 2021-01-25 21:00:06 +02:00
neonandrii aca69203e6 Issue-2812 - Allow overridden converse methods to accept messages - modified the signature check in SkillManager.handle_converse_request and MycroftSkill.converse, and resolving PEP8 issues 2021-01-25 20:59:30 +02:00
Kris Gesling 73f0299cfa
Merge pull request #2722 from forslund/bugfix/latest-porcupine
Update for newer Porcupine engines
2021-01-25 16:29:48 +09:30
Åke Forslund aace28dfa3 Use lock around play and stop
Moves the stopping logic to separate method to be able to call from
locked contexts
2021-01-23 11:09:54 +01:00
neonandrii ba7b2795ec Issue-2812 - Allow overridden converse methods to accept messages - adding default message=None to MycroftSkill.converse and changing the signature check in the skill manager. 2021-01-22 17:20:48 +02:00
neonandrii 416eebfee7 Issue-2812 - Allow overridden converse methods to accept messages - adding default message=None to MycroftSkill.converse and changing the signature check in the skill manager. 2021-01-22 17:16:22 +02:00
Åke Forslund 082a2d481c Mark that audio has completed in dummy tts 2021-01-22 14:40:00 +01:00
Åke Forslund c00d37935a Simplify restore audio volume handler 2021-01-22 14:40:00 +01:00
Åke Forslund 8ce1615d75 Lock around tracklist access
Adds a lock and some logic to verify that the audio hasn't stopped
already.
2021-01-22 14:40:00 +01:00
Aditya Mehra 1d29ceca0a Use the correct delegate and fix layouts 2021-01-21 17:49:20 +05:30
Aditya Mehra 0cbf36cd8e do not clear the namespace on every page / data send 2021-01-21 17:33:53 +05:30
neonandrii 3dca3a488a Issue-2812 - Allow overridden converse methods to accept messages 2021-01-21 11:26:46 +02:00
Åke 1a179dacab
Merge pull request #2809 from PureTryOut/location-referenced-before-assignment-2
Stop location being referenced before assignment
2021-01-19 21:28:53 +01:00
Bart Ribbers eb8af7f87a Stop location being referenced before assignment
In cases where the location can't be determined by the device or a
config setting, the location variable wouldn't exist but it would still
be referenced.
This makes sure the variable always exists, but if not changed is equal
to None
2021-01-19 11:44:14 +01:00
Kris Gesling 5e6ba03695
Merge pull request #2805 from forslund/docs/filesystem
Docs/filesystem
2021-01-19 14:49:42 +09:30
Kris Gesling 303f6a3b95
Merge pull request #2792 from MycroftAI/feature/common-bus-connection
Refactor - common bus connection method
2021-01-18 15:58:37 +09:30
Åke Forslund c641325e48 Add filesystem documentation to api documentation 2021-01-17 09:51:58 +01:00
Åke Forslund 375adbbdf0 Make audioservice load backends without callback 2021-01-15 13:49:40 +01:00
Chris Veilleux 042a23879c Don't build the cache directory if it already exists. 2021-01-14 18:00:58 -06:00
Chris Veilleux a52d45ffff Re-added argument removed in previous commit to preserve backwards compatibility. 2021-01-14 14:29:44 -06:00
Chris Veilleux 91b1a9a15c Fixed an error that occurs when the pre-loaded cache directory already exists but the cache_text.txt file does not. 2021-01-13 21:47:09 -06:00
Kris Gesling 974be29c57
Merge pull request #2781 from AIIX/fix/network_remove_pages
Fix missing remove page implementation, show idle if all pages removed
2021-01-11 21:58:22 +09:30
Aditya Mehra 7c2ca269e2 use mycroft.device.show.idle 2021-01-11 15:11:16 +05:30
Kris Gesling 767d2d6912 add whitelist arg to docstring 2021-01-11 16:57:25 +09:30
Kris Gesling ad32a7a873 move bus connect method to process_utils 2021-01-11 16:57:25 +09:30
Kris Gesling f3c76fac44 Audio service to use common bus client method 2021-01-11 16:57:25 +09:30
Kris Gesling 960f650c88 Skills service to use common bus client method 2021-01-11 16:57:25 +09:30
Kris Gesling 0423daeb4c Voice service to use common bus cilent method 2021-01-11 16:57:25 +09:30
Aditya Mehra eea66b4376 remove platform check and make the idle emit general 2021-01-06 13:20:17 +05:30
Kris Gesling 81eae60b61
Merge pull request #2758 from MycroftAI/refactor/enclosure-startup
Ensure messagebus is connected before reporting that the service is ready
2021-01-05 20:55:59 +09:30
Åke 33ee6c141b
Merge pull request #2791 from JarbasAl/vlc
Make sure vlc doesn't use video by supplying --no-video
2021-01-05 08:28:40 +01:00
Kris Gesling 013726e5bc
Merge pull request #2785 from timgates42/bugfix_typo_returns
docs: fix simple typo, retruns -> returns
2021-01-05 12:07:15 +09:30
Kris Gesling c0dac56ace
Merge pull request #2790 from forslund/bugfix/pairing-complete-mic-unmute
Unshadow Message class in _handle_pairing_complete
2021-01-05 10:20:14 +09:30
Kris Gesling 81bd4f3468
Merge pull request #2707 from forslund/feature/remote-startup-on-change
Fix remote settings overwrite at startup
2021-01-05 10:10:40 +09:30
jarbasal 1338c4c949 no video 2021-01-04 22:36:36 +00:00
Åke Forslund 9d450b5890 Unshadow Message class in _handle_pairing_complete
Fixes a small typo making the unmute after first pairing call fail.
2021-01-04 21:38:05 +01:00
JarbasAI f1d7141bf2
fix/intent_api (#2786)
* fix/fix/intent_api

* get active skills

* fix/intent_api

* fix/intent_api

* typos

Co-authored-by: jarbasal <jarbasai@mailfence.com>
2020-12-31 12:56:44 +09:30
Åke Forslund bd19d1673c Fix remote settings overwrite at startup
Mycroft always mangeled any local settings changes at startup.

This caches the last settings from home on disk and only updates skills
_if_ there is a change.

This means that as if a member is changed locally (manually edited or
changed by the skill itself) it will be kept until another change is made
to the skill on Home.
2020-12-29 23:03:21 +01:00
Tim Gates 66270c3cd7
docs: fix simple typo, retruns -> returns
There is a small typo in mycroft/skills/skill_data.py.

Should read `returns` rather than `retruns`.
2020-12-24 08:18:14 +11:00
Aditya Mehra 9ed6baef22 fix case indentation 2020-12-18 14:03:08 +05:30
Aditya Mehra 89a07d05ab Add missing remove page implementation and show idle if all pages removed 2020-12-18 12:52:44 +05:30
dalgwen 4747dd0e59 Fix UnboundLocalError in AudioProducer
==== Fixed Issues ====

====  Tech Notes ====
The variable should be declared outside the loop.
2020-12-15 10:16:34 +01:00
Åke Forslund 4b1efc7db9 Add deprecation notice 2020-12-13 21:53:01 +01:00
Åke Forslund 23cf197eb0 Pylint cleanup of imports and Porcupine class 2020-12-09 12:38:54 +01:00
Åke Forslund cb8c3fe7de Switch to using the pvporcupine pip package
This is the same set of bindings as previously but packaged and
published on pypi

Picovoce library finder functions are used to determine the location of
libraries.
2020-12-09 12:37:31 +01:00
Åke Forslund 32279894f2 Update for latest Porcupine release
- Update the creation of Porcupine object
- Update the detection to accept >= 0 (index of detected hot word)
2020-12-09 12:37:31 +01:00
Kris Gesling 6f8bae6ba1
Merge pull request #2736 from forslund/docs/plugin-apis
Add Plugin base classes APIs to readthedocs
2020-12-03 20:33:59 +09:30
Kris Gesling b0884301a3
Merge pull request #2734 from MycroftAI/feat/skill_settings_sync
skill settings sync flag
2020-12-02 10:45:45 +09:30
Åke 259d24396b
Merge pull request #2769 from MycroftAI/feature/gui-clear-docstring
Clarify that gui.clear does not close a Skill
2020-12-01 20:41:43 +01:00
jarbasal 4c84f66e15 skill settings sync flag 2020-12-01 23:56:15 +11:00
Kris Gesling da280e360c
Merge pull request #2767 from forslund/bugfix/anonymous-AdaptIntent
Bugfix/anonymous adapt intent
2020-12-01 21:55:07 +09:30
Kris Gesling 35c1a90d73 Clarify that gui.clear does not close a Skill 2020-12-01 22:43:03 +11:00
Kris Gesling acd67537f1
Merge pull request #2766 from MycroftAI/feat/gui_release
self.gui.release()
2020-12-01 21:10:57 +09:30
Åke Forslund eb78d67ff7 Fix AdaptIntent without name. 2020-11-24 10:49:04 +01:00
jarbasal 778de9a8b3 self.gui.release() 2020-11-21 17:51:14 +00:00
Kris Gesling b9c974bc1b
Merge pull request #2718 from forslund/bugfix/mimic-missing-exceptions
Handle Mimic missing properly
2020-11-16 14:40:14 +09:30
Kris Gesling 12401b8b59
Merge pull request #2666 from MycroftAI/feat/extend_timeout
cps extend timeout
2020-11-15 10:52:16 +09:30
Åke Forslund 1ae6271051 Validate fallback TTS object
Verify that the fallback object can execute when creating it
2020-11-14 11:44:32 +01:00
Kris Gesling ce7331fbbb Ensure messagebus connected before reporting ready
Switch to new standard method to connect to bus client
Ensure exceptions during .run() are raised to the Enclosure service
Add missing .stop() method to base Enclosure Class
Shift call of .stop() to after exit signal
2020-11-12 16:41:37 +09:30
Kris Gesling d01b5e10ed add standard method for starting the bus client as a daemon 2020-11-12 16:35:45 +09:30
Åke Forslund 731de16d1f Properly fix readthedocs issue with yaml 2020-11-06 07:29:12 +01:00
Åke Forslund 5bf2af861f Fix typo preventing STT plugins to load 2020-11-04 08:04:46 +01:00
Åke Forslund 50f049032b Add docstrings for Hotword base class 2020-11-04 08:03:15 +01:00
Åke Forslund de8803be34 Add docstring for STT base classes 2020-11-04 08:03:12 +01:00
Åke Forslund 5e633421c6 Improve docstrings for TTS 2020-11-04 08:03:08 +01:00
Åke Forslund c747b0487a Improve docstrings for audio service backend classes 2020-11-04 08:03:03 +01:00
Kris Gesling 0258009857
Merge pull request #2737 from MycroftAI/feat/appstore_warning
msm appstore warning
2020-10-28 16:13:18 +09:30
jarbasal 8b7a45d02f msm appstore warning 2020-10-26 16:44:52 +00:00
Åke 73e49949b0
Merge pull request #2735 from MycroftAI/bugfix/load-status
Ensure load_status is initialized on load failure
2020-10-26 08:47:54 +01:00
Kris Gesling 3ca15e9bb7 ensure load_status is initialized on load failure 2020-10-26 16:18:20 +09:30
Aditya Mehra 3a33284f62 add missing skill_id parameter for page interaction and focus events 2020-10-23 13:34:01 +05:30
Kris Gesling 23f8c3f5be
Merge pull request #2724 from forslund/feature/pyee-8.1.0
Update to pyee 8.1.0
2020-10-22 20:38:22 +09:30
Åke Forslund 0a9de0ab7c Update to pyee 8.1.0
pyee 8.1.0 adds a small change to make the once call to be more safe in
multithreaded environments.

This switches back from the now deprecated BaseEventEmitter to the
standard EventEmitter.
2020-10-22 11:43:06 +02:00
Kris Gesling 11062dbd9c
Merge pull request #2721 from Nihvel/patch-1
Update __init__.py
2020-10-21 16:26:16 +09:30
Kris Gesling 8a1b989935
Merge pull request #2594 from forslund/feature/plugin-system
Plugin system for stt, tts, audioservices and wake word engines
2020-10-19 15:41:35 +09:30
Juri Calleri 1795322035
Update __init__.py
trailing whitespace removed and double space after '.' dot restored
2020-10-15 15:13:17 +02:00
Juri Calleri 2a1b099390
Update __init__.py
fix for the issue #2630
2020-10-14 19:14:39 +02:00
jarbasal 02cb489f63 wake word plugins 2020-10-10 18:03:40 +01:00
Åke Forslund 112a983024 Fix pylint issues 2020-10-10 09:20:21 +02:00
Åke Forslund a2dc3482ef Fix logs when Mimic is not found
If Mimic was not found at all the LOG message would raise an exception,
this fixes that issue and cleans up Exception chain
2020-10-10 09:04:54 +02:00
Kris Gesling 6e058e48b5
Merge pull request #2713 from domcross/feature/mozilla_tts
Feature/mozilla tts
2020-10-07 11:39:54 +09:30
domcross 10ded43c65 Mozilla TTS
Clean up imports
2020-10-06 11:44:54 +02:00
domcross 99f534c1ad Mozilla TTS
remove custom cache code
improve url handling
2020-10-05 19:51:00 +02:00
Kris Gesling 7bd0e25466
Merge pull request #2706 from joshuajaharwood/feat/issue-2700
Issue-2700 - Allow for different Polly engines in config
2020-10-05 15:28:08 +09:30
domcross 12ec5cb9b7 Mozilla TTS
Cache handling
2020-10-02 21:48:55 +02:00
domcross d0fb378c56 Mozilla TTS
fix imports and example config
2020-10-02 14:10:41 +02:00
Åke b241f1de84
Merge pull request #2704 from MycroftAI/bugfix/settings-update-typeerror
Add optional message argument
2020-10-02 13:40:18 +02:00
domcross 65e30ba861 Mozilla TTS
fix codestyle
2020-10-01 21:03:52 +02:00
domcross 104c57a528 Mozilla TTS
fix missing import and codestyle
2020-10-01 20:35:08 +02:00
domcross 5be3b54b27 MozillaTTS
Implement TTS module that works with Mozilla-TTS server.

==== Environment Notes ====
Requires a Mozilla-TTS server running preferably in your local network.
2020-10-01 20:07:47 +02:00
Joshua J. A. Harwood 84a5fd8853 Issue-2700 - Allow for different Polly engines in config 2020-09-27 22:49:59 +00:00
el-tocino 8d9930ac18 remove english-only error 2020-09-25 20:18:31 -05:00
Kris Gesling 5e8474cd72 Add optional message argument
When called over the messagebus the message is passed to the handler,
thereby throwing a TypeError as it wasn't expecting 2 positional args.
2020-09-25 15:55:42 +09:30
Kris Gesling 1c80eab76d
Merge pull request #2691 from forslund/bugfix/duration_stretch-update
Bugfix/duration stretch update
2020-09-25 15:06:17 +09:30
Åke Forslund d8ff26bbd9 Add plugin loading of audioservices
All modules registered under the entrypoint group "mycroft.plugin.audioservice"

These shall refer to a module with either an autodetect function or a
load_service function.
2020-09-23 07:46:13 +02:00
Åke Forslund 15fd22a258 Add plugin loading to stt
pip packages registering entrypoints under 'mycroft.plugin.stt' will be
detected.
2020-09-23 07:46:13 +02:00
Åke Forslund a54090eef2 Add plugin support for tts
Entrypoints registered under "mycroft.plugin.tts" will be detected and
able to run.
2020-09-23 07:46:13 +02:00
Åke Forslund caf834c728 Add plugin utils 2020-09-23 07:46:09 +02:00
Kris Gesling ae72ebd247
Merge pull request #2599 from forslund/refactor/intent-service
Refactor intent service
2020-09-23 10:24:16 +09:30
Kris Gesling 571e6d3e61
Merge pull request #2659 from forslund/feature/detect-bad-modification-times
Don't reload skill if a mod time is in the future
2020-09-22 20:55:35 +09:30
katridi 6e197d0138
Bugfix/issue 2563 (#2692)
* Issue-2563 Added fallback to english model
* Added test case for checking config set up
* Added more descriptive log message
2020-09-22 15:01:01 +09:30
jarbasal 7e1e3e4bc2 extend timeout 2020-09-20 21:38:33 +01:00
JarbasAI 4d3cd33d4a
Feat/self.gui.connected (#2682)
* expose gui connection status

* gui.status.request.response

Co-authored-by: jarbasal <jarbasai@mailfence.com>
2020-09-16 17:02:46 +09:30
katridi a185a9a4bf
Issue-2567 - Fixing not initialized dialog_render (#2685)
Fixes #2567
2020-09-15 22:10:39 +09:30
Kris Gesling 31fd9914ef
Merge pull request #2681 from forslund/bugfix/all_loaded-order
initialize status members before bus handlers
2020-09-14 17:02:16 +09:30
Åke Forslund 37e03589f3 Handle numeric duration stretch 2020-09-14 07:43:48 +02:00
Åke Forslund f40c9cc44f Make Global scope variables upper case 2020-09-12 18:18:38 +02:00
Åke Forslund 725b8a8d15 Fix update of duration stretch
Switch from global config to object config
2020-09-12 18:18:02 +02:00
Åke Forslund 1202417f86 Handle ntp syncs during precise Startup
Use MonotonicEvent instead of the builtin Event class
2020-09-10 13:27:21 +02:00
Åke Forslund 4e7809d732 Handle ntp sync in audioservice ready wait
Events (any python threading in general) don't use monotonic time and
can be affected by an ntp sync.

This replaces the normal event with the MonotonicEvent class handling jumps
into the future.
2020-09-10 13:26:25 +02:00
Åke Forslund fc3d8ce801 Add MontonicEvent class
This handles jumps forward in time correctly
2020-09-10 13:26:25 +02:00
Åke Forslund b71bedd471 initialize status members before bus handlers
self._loaded_status was accessed from a message handler, if a message is
received at the precisely wrong time an exception may occur. This fixes
the init order.

Also moves the skill_updater creation to be fore the handlers are
registered.
2020-09-07 06:34:07 +02:00
devs-mycroft 255ac428bd Version bump from 20.8.-1 to 20.8.0 2020-09-03 07:49:13 +00:00
Åke Forslund d704981613 Set a more specific module name for audioservices
The basic name caused collisions between the "vlc" audioservice and the
vlc module. This prepends an "audioservice_" to the service folder name.
2020-08-28 07:59:06 +02:00
Kris Gesling 891325e3f5
Merge pull request #2680 from forslund/bugfix/default-check
Don't run default update if autoupdate is disabled
2020-08-24 10:51:53 +00:00
Kris Gesling 3eee84f053
Merge pull request #2679 from forslund/refactor/remove-imp
Refactor/remove imp
2020-08-24 01:28:34 +00:00
Åke Forslund 70d9868f84 Don't update if autoupdate is disabled 2020-08-21 14:43:41 +02:00
Åke Forslund ba8c41486c Load audioservices using importlib instead of imp
imp has been deprecated for quite some time
2020-08-21 08:00:08 +02:00
Kris Gesling 6e9d6d3795 bump version numbers for 20.08 2020-08-21 10:43:58 +09:30
Kris Gesling 05e96935d4
Merge pull request #2673 from MycroftAI/remove/speaking-utils
remove deprecated speaking utils
2020-08-21 00:32:35 +00:00
Kris Gesling a3a869b883
Merge pull request #2672 from MycroftAI/remove/string-utils
Remove unnecessary string utils
2020-08-21 00:32:08 +00:00
Kris Gesling cb2531c81c
Merge pull request #2671 from MycroftAI/remove/dialog-loader
remove deprecated DialogLoader class
2020-08-21 00:31:45 +00:00
Kris Gesling d1ea9088fb
Merge pull request #2670 from MycroftAI/remove/startListening
remove deprecated startListening signal
2020-08-21 00:31:30 +00:00
Kris Gesling 1b64285bd0
Merge pull request #2669 from MycroftAI/remove/converse-error
remove previously deprecated error message
2020-08-21 00:31:17 +00:00
Kris Gesling 6e0d5a91ae
Merge pull request #2668 from MycroftAI/refactor/recording-timout
remove hardcoded timeouts - now in mycroft.conf
2020-08-21 00:31:04 +00:00
Kris Gesling 40139b9869
Merge pull request #2667 from MycroftAI/feature/deprecated-ee
Remove deprecated EventEmitter classes
2020-08-21 00:30:53 +00:00
Kris Gesling 519f7e19cd
Merge pull request #2674 from MycroftAI/feat/gui_cps_status
add GUI + PAUSED to track status
2020-08-20 21:28:14 +00:00
Åke Forslund 988b99b7fe Add missing watchdog argument
Fix retry call to _initialize_skill_manager() when Msm cache doesn't exist locally.
2020-08-20 21:22:55 +02:00
jarbasal a8e9af8505 add GUI, skill and enclosure to track status 2020-08-20 17:44:48 +09:30
Åke Forslund fe4daa2565 Update Query api methods 2020-08-19 18:24:59 +02:00
Kris Gesling d4d7d09e40 remove hardcoded timeouts; already moved to conf 2020-08-19 20:35:23 +09:30
Kris Gesling fac4744a30
Merge pull request #2657 from AIIX/feature/override-animations
Allow override for animations in platform skills
2020-08-19 06:53:59 +00:00
Kris Gesling b444d00ccf remove previously deprecated speaking utils 2020-08-18 23:31:07 +09:30
Kris Gesling 666178c483 remove unnecessary remove_last_slash method 2020-08-18 23:06:42 +09:30
Kris Gesling ed46311cd8 remove unnecessary get_http method 2020-08-18 23:04:53 +09:30
Kris Gesling 2643caadf8 remove previously deprecated DialogLoader class 2020-08-18 22:56:34 +09:30
Kris Gesling 23d1d35ea9 remove deprecated startListening signal 2020-08-18 22:21:38 +09:30
Kris Gesling 58a5cddbd6 remove previously deprecated error msg 2020-08-18 22:14:32 +09:30
Åke Forslund 10092c3a9e Don't reload skill if a mod time is in the future
This stops a skill from being reloaded repeatedly if a file gets a bad
modification time.

It also logs the offending files in the error message.
2020-08-18 09:52:59 +02:00
Kris Gesling 7f7c97d0f6
Merge pull request #2662 from MycroftAI/bugfix/empty-arg
Do not call max if files list is empty
2020-08-18 07:28:15 +00:00
Kris Gesling ac8e10898f remove deprecated ThreadedEventEmitter 2020-08-18 16:00:51 +09:30
Kris Gesling d70c425854 switch deprecated EventEmitter to other classes 2020-08-18 15:58:42 +09:30
devs-mycroft 9d00f71c5e Version bump from 20.2.4 to 20.2.5 2020-08-17 13:22:08 +00:00
Åke Forslund 81570f14e9 WIP fix pylint warnings in context manager 2020-08-14 13:40:16 +02:00
Kris Gesling 8065f5cbee do not call max if files list is empty 2020-08-14 21:05:32 +09:30
Åke Forslund 8089411d93 Fix warnings from pylint in intent_service.py
- Add missing docstrings
- fix short variable names
- restructure return code
2020-08-13 09:28:23 +02:00
Åke Forslund d9281d7795 Handle pylint warnings for padatious_service 2020-08-13 09:28:23 +02:00
Åke Forslund 841ed2dcfc Update for pylint conformity for adapt module
- imports
- All docstring
- AdaptService method warnings
2020-08-13 09:28:23 +02:00
Åke Forslund 618daac9a4 Pair utterances with normalized versions
- Move setting original utterance to the respective intent service
- Remove botch limiting the intent service to a single STT hypothesis
2020-08-13 09:28:18 +02:00
Kris Gesling 5dac7fe54c disable wakeword uploads before deprecating API 2020-08-13 16:49:54 +09:30
Kris Gesling 7aa80e2b7d remove duplicate and unused method 2020-08-13 16:46:08 +09:30
Åke Forslund 917127638b Remove workaround for adapt one_of intents
This issue was properly fixed in Adapt 0.3.5.
2020-08-13 08:18:55 +02:00
Åke Forslund 008ab372fd FallbackService encapsulating fallback calls 2020-08-13 08:18:51 +02:00
Åke Forslund bb8d4e3c1f Generalization of intent service Episode IV
Simplify the handle_utterance into a list of intent matching functions
run in order until a match is found.

The resolution order is

- Converse
- Padatious High Confidence
- Adapt
- Fallback High priority
- Padatious Medium Confidence
- Fallback Medium priority
- Padatious Last ditch effore
- Fallback Low priority

This collects the many parts of where intent is handled into a single
location handling the entire flow.

The idea is that, in the end, all the skill calling should be done from
this method. The main intent parsers does this but the converse and
fallback still calls directly.
2020-08-13 08:12:53 +02:00
Åke Forslund b52cc55f25 Add support for ranges of fallbacks
If no range is provided it defaults to 0-100 to be backwards compatible
2020-08-13 08:12:53 +02:00
Åke Forslund 4c87bc23d4 Move padatious service to within the IntentService 2020-08-13 08:12:53 +02:00
Åke Forslund e93d23f0df Split out adapt from the intent_service. 2020-08-13 08:12:53 +02:00
Aditya 4d8cd10b31 fix pep8 errors 2020-08-12 22:03:38 +05:30
Aditya 61611ea6e2 allow override for platform skill animations 2020-08-12 21:29:49 +05:30
Åke Forslund b24679a17c Amendments after comments PR comments
- Fix playlist_position description
- Make CPS_send_tracklist() require a playlist argument
- change docstring for the playlist type
2020-08-11 23:09:06 +02:00
Kris Gesling 55cd62470f
Merge pull request #2619 from forslund/feature/common-play-inform-gui
Add method for updating playback information from skills
2020-08-11 07:14:22 +00:00
Åke Forslund 8f4847ff77 Status and track list suggested by @Jarbasal
This commit adds the status, extended track info as well as a tracklist
information as proposed by Jarbasal.
2020-08-11 06:58:45 +02:00
Kris Gesling 69a1c1d082
Merge pull request #2644 from forslund/feature/install-defaults
Always install default skills before initial load
2020-08-11 01:53:50 +00:00
Kris Gesling 7d446b0222
Merge pull request #2650 from forslund/bugfix/stt-missing-lang
set active lang to configured if missing from STT and normalize
2020-08-10 06:36:46 +00:00
Kris Gesling 2270854692
Merge pull request #2649 from forslund/bugfix/extract_duration
Let lingua franca check extract_duration lang
2020-08-10 05:57:18 +00:00
Åke Forslund e9760cdce8 Normalize the lang code to lowercase only
This suites lingua franca better
2020-08-10 07:41:50 +02:00
Åke Forslund 6edaa58558 set active lang to configured if missing from STT
If the STT doesn't send a lang code fallback to configured language
instead of hardcoded en-us
2020-08-10 07:41:44 +02:00
Åke Forslund 6abfca67a6 Fix settings changed check after skill handler
Make self._initial_settings have an unique copy of the settings and not
a reference to the original ones.
2020-08-09 08:50:44 +02:00
Åke Forslund 2dde23467c Let lingua franca check extract_duration lang
Mycroft doesn't need to check for supported languages for
extract_duration, lingua_franca handles that internally.
2020-08-07 07:47:11 +02:00
Åke Forslund 49faadee03 Don't include blacklisted skills in defaults
Don't try do an install on startup if a blacklisted skill is uninstalled
2020-07-31 09:58:34 +02:00
Åke Forslund 0756da700a Always install default skills before initial load
This checks if all default skills are installed before continuing with
initial load.

For devices with no skills installed on first start this should ensure
that skills are installed before sending the mycroft.skills.initialized
to start precise training and generating the mycroft.ready message
2020-07-29 18:48:53 +02:00
Kris Gesling a5b7f55ae4
Merge pull request #2634 from forslund/bugfix/wait-for-response-timeout
Fix custom timeout for wait_for_response()
2020-07-29 07:03:15 +00:00
Kris Gesling 30177a01ed
Merge pull request #2643 from jmontane/dev
Add Festival TTS support
2020-07-28 04:59:59 +00:00
Joan Montané 594c838a00 Add Festival TTS 2020-07-27 18:04:27 +02:00
Åke Forslund 0a04efd88d Add system for checking audio service readiness
The new wait_for_loaded() method will wait until services has been
loaded. It has a 3 minute timeout (default)

This improves the audio service readiness indication to not trigger
until the services are loaded.
2020-07-24 22:12:54 +02:00
Åke Forslund 236a2ed594 Add hook for stopping 2020-07-22 11:06:47 +02:00
Åke Forslund a1fdae3415 Add support for watchdog in skills and speech client
If no watchdog is provided a dummy function will be called
2020-07-22 10:52:32 +02:00
Åke Forslund 09b1deb511 Add possibility for notification hooks for services
- skills
- audio
- speech client
- messagebus service
- enclosure

The main functions now accepts the arguments ready_hook and error_hook
allowing a service or runner script to catch these states and perform
actions accordingly.

This is useful for things like systemd or a desktop launcher.

Fix audio service startup
2020-07-22 10:52:27 +02:00
Åke Forslund 45cb8bec62 Add message for updating playback information from skills
This adds the function used by the npr-news-skill and spotify-skill to
communicate their info to the playback control showing the default
playback UI.

The function has the common parameters specified but is setup to be able
to add new functionallity without core changes.
2020-07-20 13:45:14 +02:00
jamesmf b94b07b35b revert iot dig_for_message 2020-07-14 23:11:10 -04:00