Commit Graph

33 Commits (384c66cbd23c0488097473d77650c17ba25c0809)

Author SHA1 Message Date
penrods 0986df6b4b Fix no-internet prompt
The prompt during skill downloads was occurring even when the "speak" flag was
set to False.  Now it is honored.

Also removed the "no network connection.dialog" which essentially was a copy of
the "not connected to the internet.dialog" file.
2017-10-28 03:14:22 -05:00
penrods 3d64509b25 SkillManager, msm messagebus notifications
Significantly reworked the loading/updating of Skills.  Unified
all management under a single SkillManager class.  This class
runs as a thread that initially loads, upgrades (via MSM)
and reloads skills.

Removed the independent threads that were being run.  The skill
updating still happens once an hour, but works in conjunction
with the scan to reload modified skills.  Also added messagebus
notifications from MSM so mycroft-core can pause reloading
skills until the installation is complete.

Added a new mycroft.messagebus.send module to allow command
line interaction with the messagebus, e.g.:
   python -m mycroft.messagebus.send mycroft.wifi.start
   python -m mycroft.messagebus.send speak '{"utterance":"hello"}'

==== Fixed Issues ====
MSM installs that have PIP dependencies were failing, as the
load would occur after code was retrieved but before PIP install
completed.  Restart was required to load new skills.

====  Tech Notes ====
TODO: Change the way we manage modules.  The auto-load of the
remote configuration for the module is silly, slow and wasteful.

I made the WebsocketClient.build_url() method static in
anticipation of being able to do this more efficiently when the
submodule load doesn't hit the remove API automatically.

==== Localization Notes ====
Modified 'sorry I couldn't install default skills' message.

==== Protocol Notes ====
MSM now generates:
  msm.updating
  msm.installing
  msm.install.succeeded     { "skill" : name }
  msm.install.failed        { "skill" : name, "error" : code }
  msm.installed
  msm.updated
  msm.removing
  msm.remove.succeeded      { "skill" : name }
  msm.remove.failed { "skill" : name, "error" : code }
  msm.removed

An update can now be forced by posting 'skillmanager.update' to the
messagebus.
2017-10-13 02:21:58 -05:00
Patrick Freeman 4f4547182b issue-1091 - Provide Dutch translations of dialog files 2017-09-28 11:28:45 -05:00
00tiagopolicarpo00 2a17cf246c Update ssh enabled.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 81def1107f Update ssh disabled.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 148cc9e96c Update sorry I couldn't install default skills.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 dccb9956aa Update skills updated.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 4a2f453360 Update reset to factory defaults.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 9b60f3a35a Update not connected to the internet.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 16c1729904 Update no network connection.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 ff1c4e3f18 Update i didn't catch that.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 cf86798b02 Update i am awake.dialog 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 854dfe3300 Add portuguese translation to the dialogs 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 5ae6e0e345 Add files via upload
Add portuguese translation to the dialogs
2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 adc884e381 Delete index.txt 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 4d4d1f3329 Create index.txt 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 f30667524c Delete pt-pt 2017-09-15 00:07:00 -05:00
00tiagopolicarpo00 101e841554 Create pt-pt 2017-09-15 00:07:00 -05:00
Matthew D. Scholefield af8826a1c7 Learning option for sharing wake word recordings (#1039)
* Add automatic uploading of wake words and learning option in enclosure client

* Spawn new thread and remove ping
Spawning a new thread eliminates the need to ping and eliminates additional latency. In addition, the return code of scp is now used to determine whether to delete the wake word

* Increment enclosure version number
2017-09-14 23:58:32 -05:00
leonard-pradier 2e479dd453 Add french translation to the dialogs 2017-08-23 15:17:00 -05:00
Steve Penrod 96c08189ed Revert "This add comments to document the message class" 2017-06-30 00:41:20 +02:00
Art McGee 355225ee3d Merge branch 'dev' into amcgee7_docs 2017-06-29 07:17:19 -07:00
penrods 8bd28e11ce Support for Mark 1 SSH > BLOCK menu item
This implements the handler for the Mark 1 menu item SSH > BLOCK (the inverse of SSH > ALLOW)
* Added handler for "unit.disable-ssh" on the serial line. This turns around and emits "mycroft.disable.ssh" on the messagebus.
* Removed the automatic reboot, just let the user know it will be different after a restart
* Made the spoken message translatable
* Changed mycroft.dialog.get() to not require the "lang" parameter.  It will default to the mycroft.conf value.
2017-06-26 13:52:52 -07:00
Steve Penrod faa3070f3c Adding localization mechanism for strings embedded in mycroft-core code (#717)
* Adding localization mechanism for strings embedded in mycroft-core code

Added mycroft.dialog.get() function.  This behaves much like the localization
mechanism for dialogs in Skills.  So you can do things like this:

   lang = "en-us"
   str = mycroft.dialog.get("how are you", lang)

Which will look in mycroft/res/text for the dialog file containing strings to
use as templates for the actual output.  This depends on the language being
currently used.  When operating in English this would be:

   mycroft/res/text/en-us/how are you.dialog

This function will pick a random line from that file to assign to str.

A more advanced use is to embed placeholders in the strings within the
template file.

   lang = "en-us"
   ctx = {"time" : "noon"}
   str = mycroft.dialog.get("current time", lang, ctx)

And the random template line picked was "the current time is {{time}} ", then
the output would be:

   "the current time is noon"
2017-06-26 13:52:52 -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
aatchison 9cc83c6ecc fixed typo in mycroft didn't catch that dialog 2017-05-22 13:42:23 -05:00
penrods 3d62587a54 SSH messages were misleading - no reboot is needed anymore 2017-05-18 16:53:10 -03: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
penrods 1b200089c0 Support for Mark 1 SSH > BLOCK menu item
This implements the handler for the Mark 1 menu item SSH > BLOCK (the inverse of SSH > ALLOW)
* Added handler for "unit.disable-ssh" on the serial line. This turns around and emits "mycroft.disable.ssh" on the messagebus.
* Removed the automatic reboot, just let the user know it will be different after a restart
* Made the spoken message translatable
* Changed mycroft.dialog.get() to not require the "lang" parameter.  It will default to the mycroft.conf value.
2017-05-18 16:53:10 -03:00
Steve Penrod c44d386a35 Adding localization mechanism for strings embedded in mycroft-core code (#717)
* Adding localization mechanism for strings embedded in mycroft-core code

Added mycroft.dialog.get() function.  This behaves much like the localization
mechanism for dialogs in Skills.  So you can do things like this:

   lang = "en-us"
   str = mycroft.dialog.get("how are you", lang)

Which will look in mycroft/res/text for the dialog file containing strings to
use as templates for the actual output.  This depends on the language being
currently used.  When operating in English this would be:

   mycroft/res/text/en-us/how are you.dialog

This function will pick a random line from that file to assign to str.

A more advanced use is to embed placeholders in the strings within the
template file.

   lang = "en-us"
   ctx = {"time" : "noon"}
   str = mycroft.dialog.get("current time", lang, ctx)

And the random template line picked was "the current time is {{time}} ", then
the output would be:

   "the current time is noon"
2017-05-18 16:53:10 -03:00
penrods 5f8775883a Refining new "listening" sound mechanism
This adds several refinements to the listening sound mechanism added by:
* Added a default sound file
* Allowing various ways to override "resource files" for customization
* Moved the sound configuration path from "confirm_ding" to
  "sounds" > "start_listening"
* Also added "sounds" > "end_listening" configuration for the future

This submission adds the new mycroft.util.resolve_resource_file(res_name)
method.  This method takes a name such as "snd/start_listening.wav" and
looks (in order):
* For an absolute path <res_name>
* For ~/.mycroft/<res_name>
* For /opt/mycroft/<res_name>
* For mycroft/res/<res_name> within the source package
2017-02-15 15:37:52 -06:00
Arron Atchison 990dd27c5e Revert "Refining new "listening" sound mechanism (#503)" 2017-02-15 15:37:52 -06:00
Steve Penrod a53a5bf0a6 Refining new "listening" sound mechanism (#504)
This adds several refinements to the listening sound mechanism added by:
* Added a default sound file
* Allowing various ways to override "resource files" for customization
* Moved the sound configuration path from "confirm_ding" to
  "sounds" > "start_listening"
* Also added "sounds" > "end_listening" configuration for the future

This submission adds the new mycroft.util.resolve_resource_file(res_name)
method.  This method takes a name such as "snd/start_listening.wav" and
looks (in order):
* For an absolute path <res_name>
* For ~/.mycroft/<res_name>
* For /opt/mycroft/<res_name>
* For mycroft/res/<res_name> within the source package
2017-02-15 15:37:52 -06:00