Commit Graph

2656 Commits (0d79af8ce21010ec2ce8ae6879b0ef90e849fd71)

Author SHA1 Message Date
Åke Forslund 0ab7758784 Send timing information in batches every 30 seconds
Sets up a thread with a queue interface to handle the upload of timing
information to the backend.

Previously this was done in the emitter thread after a skill or
subsystem had delivered their content to avoid slowing down the system.
However massively parallell calls like the "mycroft.stop" message would
starve the threadpool casuing the upload time to limit the execution
speed of these.
2020-02-26 07:25:28 +01:00
Kris Gesling bf2db3d79a
Merge pull request #2472 from belvederef/patch-1
Convert hash sign comments to double slash (# -> //)
2020-02-24 23:04:14 +09:30
Åke Forslund d30f778026 Make message.response keep source/dest info 2020-02-24 10:37:10 +01:00
Åke 1afedb2dd2
Merge pull request #2468 from JarbasAl/feat/intent_api
intent api
2020-02-24 08:40:36 +01:00
jarbasal 09cc3f6294 cleanup 2020-02-24 08:23:35 +01:00
jarbasal 3728e2013b norm utterances 2020-02-24 08:23:35 +01:00
jarbasal 74d07f0fdc Fix lang parameter 2020-02-24 08:23:26 +01:00
jarbasal 1e00347834 message fix 2020-02-24 07:46:46 +01:00
jarbasal befab62a58 get_skill from utterance 2020-02-24 07:46:46 +01:00
jarbasal d3037f2ba1 move to intent_service_interface 2020-02-24 07:46:46 +01:00
jarbasal f1c55cc809 padatious match 2020-02-24 07:46:46 +01:00
jarbasal 16f91c8ebe add regex 2020-02-24 07:46:46 +01:00
jarbasal 532bcc2b2a intent api 2020-02-24 07:46:46 +01:00
Åke Forslund e1fa0e3ad2 Set context from previous message when doing converse 2020-02-22 09:35:03 +01:00
Åke Forslund acf3b96aa2 Make padatious service forward the intent call 2020-02-21 08:26:47 +01:00
Åke Forslund aad961f1b5 Copy message context on reply
This ensures that the original context isn't modified, for example when
converse is used the reply there would switch the source/destination for
the original message making the skill speak to the wrong destination.
2020-02-21 07:57:46 +01:00
Åke Forslund 1a0432255c Handle missing message idents in converse
Handle the case where context exists but without ident
2020-02-21 07:57:46 +01:00
Åke Forslund 9ea0abe264 Update default branch for skill updates to 20.02
This referes to the settings made to msm when used by the installer
skill and the default skill updates done in the skills process
2020-02-19 08:02:02 +01:00
Åke Forslund b581766a00 Fallback to mimic for bad http status codes
Added a RemoteTTSException exception for non-timeout exceptions, Mimic2
will consider HTTP status code 200-299 as OK while other responses will
trigger raise RemoteTTSException.
2020-02-17 15:08:21 +01:00
jarbasal 0533ab0d2a Correct docstring for enclosure api eyes_fill 2020-02-15 16:33:49 +01:00
jarbasal 0de7f11c6e execute TTS from debug_cli 2020-02-15 15:35:43 +01:00
jarbasal f209afb021 Move dig_for_message to messagebus submodule 2020-02-15 15:35:43 +01:00
jarbasal fc9e254eef common iot message context 2020-02-15 15:35:43 +01:00
jarbasal f4a96e6c22 Update Unittests and fix pep8 2020-02-15 15:35:43 +01:00
jarbasal cc8029a357 pass context in scheduled events 2020-02-15 15:35:43 +01:00
jarbasal 75c796a29d add context to all listener messages 2020-02-15 15:35:38 +01:00
jarbasal e57671ebeb capture all in cli 2020-02-15 12:52:23 +01:00
jarbasal ef556557ad Fallback skill forward messages 2020-02-15 12:52:10 +01:00
jarbasal 0a560602c7 Use forward to send messages in MycroftSkill 2020-02-15 12:50:49 +01:00
Jarbas-Core d16964c580 bus message targetting 2020-02-15 12:37:25 +01:00
Åke a6cb0c5258
Merge pull request #2470 from forslund/refactor/remove-configurationmanager
Remove the ConfigurationManager compatibility
2020-02-15 08:41:34 +01:00
Francesco Belvedere e7703da3d1
Convert hash sign comments to double slash (# -> //)
The hash sing makes it difficult to deal with the json file. Even using tools like [jsmin](https://github.com/tikitu/jsmin/) does not help since hashes are not supported. To enhance interoperability and consistency, they can be removed (also because only two lines use them).
2020-02-14 23:08:11 +00:00
Åke Forslund 968370cbf1 Remove exec permission from format files
mycroft/util/format.py and test/unittests/util/test_format.py
2020-02-13 07:59:16 +01:00
Åke Forslund 9245f551f4 Remove backwards compat. imports from lang tools
This removes the whole mycroft.util.lang submodule replacing it with a
minimum needed set of functions

extract_datetime: when a date was missing en-us would return the current date
to not mess up existing skills. This is no longer the case, if an
utterance doesn't contain a date the function will return None as
indicated by the docstring
2020-02-12 09:27:50 +01:00
Åke Forslund dd6732997b Remove the ConfigurationManager compatibility
ConfigurationManager has been deprecated since 0.9.4 so it's time to
remove it completely
2020-02-11 14:48:44 +01:00
Åke 47038f575e
Merge pull request #2462 from forslund/test/cqs
Tests for CommonQuerySkill
2020-02-07 08:34:18 +01:00
Åke 74c6a483fd
Merge pull request #2459 from forslund/test/common-play-skills
Common play skill tests
2020-02-07 08:33:54 +01:00
Åke d269a49a16
Merge pull request #2422 from forslund/refactor/dialog
Refactor mycroft.dialog
2020-02-07 08:33:25 +01:00
Åke Forslund f759903dcb Deprecate DialogLoader class
The DialogLoader class has been replaced by the simpler load_dialogs
function.
2020-02-05 17:04:37 +01:00
Åke Forslund dfc7c1df89 Refactoring of dialog module
- Move code out of __init__.py
- Correct spacing of docstrings
- Make use of ' uniform
- Add module level docstring
2020-02-05 17:04:28 +01:00
Åke Forslund 3fa6e6e309 Use wait_for_response to retreive track info 2020-02-05 13:13:17 +01:00
Åke Forslund 020ee329f6 Allow AudioService.queue to accept mime info 2020-02-05 13:13:17 +01:00
Åke Forslund b2c920f031 Minor docstring cleanup 2020-02-05 13:13:17 +01:00
Åke Forslund e6896e1831 Make audio accuracy test runable again
- Move to test directory
- Make runable module
- Add some waiting to give Wakeword engine time to report back
- Disable beep on found wakeword
- Update gitignore directory
2020-02-03 10:00:55 +01:00
devs-mycroft d49ca6d418 Version bump from 19.8.6 to 19.8.7 2020-01-30 10:02:56 +00:00
Åke Forslund 9c8c8e0144 Send time reference for "now" to Lingua-franca
This will provide timezone info as well as now reference to the
extracted sentences.
2020-01-29 15:33:28 +01:00
Åke Forslund 6740eea82c Fix formatting of docstrings 2020-01-26 18:17:37 +01:00
Åke Forslund 9abb00f681 Fix func checking if a platform supports visuals 2020-01-26 18:17:37 +01:00
Åke Forslund f77fe9de58 Remove test cases
The functionallity of lingua franca has been verified so the language
specific test cases aren't needed anymore. The base test cases for
english for format.py and parse.py is left as long as those remain as
part of the utils module.
2020-01-18 08:58:23 +01:00
Åke Forslund 37caf7837d Remove logic from format.py and parse.py
The functions are still there providing the docstrings but calling the
lingua_franca functions.

Note, there is a INTENTIONAL addition of an inconsistence. Making the
extract_datetime return todays date instead of None as is documented.
This needs to be removed as soon as the mycroft default skills have been
added.
2020-01-18 08:58:23 +01:00
Åke Forslund 1b5b4f3d84 Add wrapper for extract_datetime 2020-01-18 08:58:23 +01:00
Åke Forslund 2cc90f3f9f Remove functions from format.py and parse.py 2020-01-18 08:58:23 +01:00
Åke Forslund 32666e9d68 Remove content from lang specific files
The files are kept for backwards compatibility but these just contains imports
of lingua-franca versions of variables
2020-01-18 08:58:23 +01:00
Åke Forslund 1b88db4fa1 Replace format and parse calls with lingua-franca 2020-01-18 08:58:23 +01:00
devs-mycroft aa86e10ca3 Version bump from 19.8.5 to 19.8.6 2020-01-16 14:22:00 +00:00
Åke Forslund 97ff8a4708 Send mycroft.audio.queue_end
The message is sent when there are no more tracks in the queue and
playback has stopped.
2020-01-15 11:13:00 +01:00
Kris Gesling 1faedf6052
Merge pull request #2453 from forslund/doc/settings-changed-callback
Add readthedocs docs for settings_change_callback
2020-01-15 19:41:28 +09:30
Åke Forslund 1b88ebe508 Fix tracks with mime data for VLC backend 2020-01-15 09:06:50 +01:00
Åke Forslund efb9cd1a01 Pass listen flag to fallback tts 2020-01-15 09:06:50 +01:00
Åke Forslund e74b0e3900 Add audioservice method tests
This includes init, shutdown, play, stop, next, previous, pause,
seek_backward, seek_forward, queue lower_volume, restore_volume and resume.
2020-01-15 09:06:50 +01:00
Åke Forslund 9a36639ec7 Clean up mycroft/audio/__init__.py 2020-01-15 09:06:50 +01:00
Åke Forslund 9563bff162 Add readthedocs docs for settings_change_callback 2020-01-15 08:39:15 +01:00
Åke Forslund 8f6822278f Clean-up
tts.py:
- remove unused import
-remove unused variable
- init TTS thread enclosure member
mimic2_tts.py: Fix docstrings
mimic_tts: Fix docstrings and remove unused variables and imports
google_tts: Improve docstrings
2020-01-10 16:26:48 +01:00
Åke Forslund 93ff3d7651 Fix mimic2 text preprocessing 2020-01-10 16:26:48 +01:00
Åke Forslund 391b92ce56 Make Factory get Mimic TTS class from normal list
Removes duplicated code and makes method easier to test
2020-01-10 16:26:48 +01:00
Åke Forslund 72adf0465b Move code out of __init__.py 2020-01-10 15:27:07 +01:00
andlo 39de6b655e pep8 fix 2020-01-07 16:53:37 +00:00
andlo 7b4891d07a enable seting for patadious single_thread in mycroft.conf 2020-01-06 19:32:29 +00:00
Kris Gesling 97ec830177
Merge pull request #2447 from ansgar-t/dev
Prepare for gTTS 2.1.0
2020-01-06 19:58:28 +09:30
Ansgar Tuemmers c5b6987d0c Prepare for gTTS 2.1.0
Signature of gTTS.__init__ changes in 2.1.0 and breaks calls with
unnamed arguments like gTTS('some text', 'de')
2020-01-04 17:30:45 +01:00
Åke Forslund 555478c33f Add self.root_dir to readthedocs documentation 2020-01-03 10:45:39 +01:00
Sylvia van Os 555c2f897b
Fix documentation mistake 2019-12-26 22:28:58 +01:00
devs-mycroft cafffd8b62 Version bump from 19.8.4 to 19.8.5 2019-12-20 12:20:50 +00:00
Åke Forslund 9628a5b5f4 Fix settingsmeta upload start race condition 2019-12-19 10:03:36 +01:00
Åke Forslund d45edcd613 Add priority skill's settingsmeta 2019-12-19 10:03:14 +01:00
Åke ac874ecc88
Merge pull request #2432 from ChanceNCounter/time-resolution-cleanup
clean up nice_duration handler
2019-12-18 20:41:47 +01:00
Åke 184508a020
Merge pull request #2370 from forslund/feature/settingsmeta-queue
Stabilize skill settings download
2019-12-18 12:41:16 +01:00
Åke Forslund ec1d35d1b7 Fixes from code review
- Use reload status directly instead of instance check
- Move manifest posting to start_upload method
2019-12-18 12:05:40 +01:00
Åke Forslund 1e7314d7ca Update skill manifest when a skill is removed
When skills are removed the skills manifest is updated using msm and
then sent to the backend.
2019-12-18 12:05:40 +01:00
Åke Forslund 146a8c1434 Get skill_gid more reliably
If skill directory doesn't exist in current cache try to fetch a new
copy.
2019-12-18 12:05:40 +01:00
Åke Forslund f5685bde96 Simplify
Skip the queue thread, do upload in series with skill load/reload.
2019-12-18 12:05:40 +01:00
Åke Forslund fa1bdfdda7 Send manifest before starting settingsmeta upload.
Minor restructuring moving the enqueuing of settingsmeta upload to after
updating the skills manifest.
2019-12-18 12:05:40 +01:00
Åke Forslund c11c9756ce Add queue system to send settingsmeta
The queue will store all settingsmeta upload calls and execute them
after pairing can be verified.

Starts settings download after upload has started. When settings meta upload
has started for all skills the skill download process is triggered.

This guarantees that the settingsmeta skill_gid has been populated
properly before skills try to figure out which part of the skills data
belongs to them.

Add docstrings to upload queue
2019-12-18 12:04:57 +01:00
ChanceNCounter 4e8db9c860 clean up nice_duration handler
* Replace integer values with enum values for clarity
* Simplify exception thrown on incompatible input
* Pythonify (and de-Chanceify) zero-output logic
2019-12-17 05:10:34 -08:00
JarbasAI 46af6fcff2
mark1/fix display big images
https://github.com/MycroftAI/enclosure-mark1/blob/master/protocols.txt#L141

according to the spec there is a bug
2019-12-17 01:34:08 +00:00
Philipp Fischbeck 3f73fb50af
Fix typo in MycroftSkill documentation
Change "https://https://" to "https://"
2019-12-15 16:42:41 +01:00
Åke Forslund 308b0c5111 Fix incorrect porcupine shutdown and Exception
Flagged by flake8 after merge
2019-12-12 17:51:47 +01:00
Åke 3315d98582
Merge pull request #2139 from alumae/feature/issue-1491
Add support for the Porcupine wakeword engine.
2019-12-12 16:59:12 +01:00
Åke 2263fab0b6
Merge pull request #2418 from forslund/bugfix/missing-hotword-parts
Make sure hotword entry has phonemes and threshold
2019-12-09 20:24:58 +01:00
Åke Forslund 2697cb8d56 Create simple load_dialogs function
This function replaces the class since the class doesn't provide any
functionality
2019-12-09 09:35:01 +01:00
Åke Forslund 2fa81aac52 Disregard DEBUG entry in filter
The DEBUG, has been filtered by default. This will disregard the DEBUG
filter completely since the same effect can be achieved by setting the
debug level using ":log level debug".
2019-12-09 08:27:27 +01:00
Åke Forslund f9585e47ba Clean up of create_wake_word_recognizer
- Proper docstring
- " -> '
2019-12-07 20:22:20 +01:00
Åke Forslund 2c2c933832 Make sure hotword entry has phonemes and threshold
If hotword entry is missing either add from old listener location
2019-12-07 20:18:47 +01:00
Åke 24071cdea0
Merge pull request #2416 from MycroftAI/feature/gui-server-modern-tornado
Workaround for gui connection
2019-12-07 15:08:08 +01:00
Åke d25560a053
Merge pull request #2413 from ChanceNCounter/bug/extractnumber-en(#2110)
Fix extractnumber_en failure on "%" (#2110)
2019-12-07 09:29:05 +01:00
devs-mycroft 599fc57690 Version bump from 19.8.3 to 19.8.4 2019-12-06 11:30:19 +00:00
ChanceNCounter 5eb6b51eb2 Fix extractnumber_en failure on "%" (#2110)
Closes MycroftAI/mycroft-core#2110
2019-12-05 14:19:37 -08:00
domcross 7af161fd03 Fallback to 'en-us' when resource fails
When mycroft_skill.find_resource fails to load a resource for self.lang
fall back to lang 'en-us'
as most skills/resources are available in english by default.

==== Fixed Issues ====
2019-12-05 10:21:54 +01:00
Steve Penrod 2f4b2ccf48 Remove signal.SIGINT handler from simple CLI
At some point during refactoring the ability to hit Ctrl+C to exit the basic CLI was lost.

The signal.SIGINT handler is needed by the graphical GUI, but it
interfered with the use of sys.stdin.readline() in the simple CLI.
Rearrange the installation of the handler for only the GUI.

To test, run:
   mycroft-cli-client --simple
Then hit Ctrl+C.  Before this change nothing happens (you just see the "^C" printed out).  After the change it exits as expected.
2019-12-03 20:07:19 +01:00
Åke 21699294c7
Merge pull request #2395 from forslund/bugfix/hotword-loading
Fix using of hotword structure for custom wakeword
2019-12-03 14:19:55 +01:00