Commit Graph

1710 Commits (65fcfcfcff67248829230823f6af91c5b14ce413)

Author SHA1 Message Date
Åke Forslund bb2c727485 Add comments and basic docstrings 2018-07-10 11:19:54 +02:00
Åke Forslund 775c536de5 Fix vlc lowering volume while not playing. 2018-07-10 11:19:54 +02:00
Åke f8eb7587df Handle stop correctly in the audio service. (#1677)
* Handle stop correctly in the audio service.

This allows for example the news skill playback to be stopped without
the listening being triggered.

* Handle case where service stops at end of playlist

- Fix issue when receiving multiple stop signals
- Stop method of services now returns True or False depending on if audio was playing
2018-07-10 03:23:41 -05:00
JarbasAI 6cf2ed814c feature/allow to pronounce ordinals and very small fractions (#1663)
* allow to pronounce ordinals

* cleanup

* long scale / short scale very small fractions
2018-07-10 02:54:04 -05:00
Åke 1093383443 Fix extraction of 0 in extract_number() (#1673)
0 was not detected as a valid number when checking if the function should proceed to check for fractions.
2018-07-10 02:26:25 -05:00
devs-mycroft 83254d2f89 Version bump from 18.2.9 to 18.2.10 2018-07-06 09:31:59 +00:00
Åke 779012e693
Merge pull request #1675 from MycroftAI/feature/fix-unknown-platform
Fix crash during initial skill download
2018-07-06 09:04:52 +02:00
penrods e0dc373915 Fix crash during initial skill download
When running on a platform for which there was not DEFAULT.platform
file in the mycroft-skills repo, the downloading of skills would
crash.  Now an informational message is shown and the DEFAULT
skills alone are loaded.
2018-07-06 01:42:16 -05:00
Matthew Scholefield 189e0f10ab Refactor Precise engine and support engine timeouts 2018-07-06 00:05:28 -05:00
Steve Penrod 17aab53fae Enhance the behavior of the Mark 1 button (#1668)
The Mark 1 button press can now be "consumed" when a skill handles
the Stop command.  When this happens, the button press will not
trigger listening mode.  An additional press would be needed to
trigger listening.

This introduces the "mycroft.stop.handled" messagebus message.  It
carries a data field called "by" which identifies who handled it.
Currently the values are "TTS" for when speaking ends or the name
of a skill which implements Stop and returns True from the call.

Also fixed a potential bug when the flag to clear queued visemes
was left set after a button press.
2018-07-05 20:56:54 +02:00
JarbasAI db4740d407 Add Responsive voice tts (#1565)
Adds responsive voice as an optional TTS service.

See https://responsivevoice.org/text-to-speech-sdk/text-to-speech-widget/
2018-07-04 13:21:34 +02:00
Åke 622748d7d3 Bugfix/parse corrections (#1670)
* Restore extractdatetime to return False

- Restore extractdatetime to return False if no time was found
- Add tests to make sure this is true
- Add a extract_datetime function to keep coherency with the rest of the functions. (the old extractdatetime still exists for compatibility)
- Update documentation to match

* Minor corrections to docstrings.
2018-07-02 02:44:28 -05:00
JarbasAI d69e73ced9 govivace_stt (#1654)
* Add support for Govivace STT (https://www.govivace.com/)
2018-06-27 16:09:56 +02:00
Aditya Mehra 3ae4746099 Feature add query mic status (#1656)
* Feature: Add query mic status

Adds the message bus message `mycroft.mic.get_status` which responds with data on if mic is muted or not.
2018-06-27 15:51:33 +02:00
JarbasAI fa4173a2d3 fix extract date (#1651)
* Fix errors when spaces are missing "3pm" "5seconds"
* Fix relative times "in 15 minutes" is now from current time not from midnight

Resolves #1650
2018-06-26 11:45:39 +02:00
Carsten Agerskov 5994644085 Feature/nice date (#1635)
* Added nice_date, nice_date_time, nice_year
2018-06-25 17:43:24 +02:00
Åke b1408617bc CLI Feature: skill commands (#1612)
* Update format for skill listing

Now send the skills with id and active status

* Add commands to activate/deactivate skills

* Add "unload all except one" functionallity

* Update after rebasing

- fix identifying skills

* Unload skills if they're removed from disk

* Rename _shutdown to default_shutdown

The method is not intended to be non-public, and this should shut up
codacy bot.

* Handle keep command without argument

* Add new commands to help

- Split help into multiple pages as needed

* Support :activate all
2018-06-22 00:59:51 -05:00
jarbasal 57a86a7fe6 pep8 2018-06-22 01:03:32 +01:00
jarbasal 1710803bb0 pronounce scientific notation 2018-06-22 01:03:32 +01:00
jarbasal 2f05b0b820 fix extra zero 2018-06-22 01:01:59 +01:00
jarbasal 8637236490 codacy 2018-06-21 19:15:11 +01:00
jarbasal f95c7cf805 py3.4 compatibility 2018-06-21 17:19:54 +01:00
devs-mycroft a085bfeee6 Version bump from 18.2.8 to 18.2.9 2018-06-21 11:49:07 +00:00
jarbasal ae8e241ffc long scale 2018-06-19 02:37:13 +01:00
jarbasal 5c424fecc1 long scale 2018-06-19 02:18:27 +01:00
jarbasal f83b4f97bb pronounce big numbers 2018-06-19 02:18:27 +01:00
jarbasal b329de593b up 2018-06-19 02:18:25 +01:00
jarbasal 07a5e463d9 long scale and short scale 2018-06-19 02:18:25 +01:00
jarbasal 2fc2fcab08 typo 2018-06-19 02:16:35 +01:00
jarbasal e79dce7afd improve extract_number_en 2018-06-19 02:14:30 +01:00
Åke Forslund 39c4e0aaf1 Add wiki link for long/short scale 2018-06-18 15:46:20 +02:00
jarbasal 7e1fb80cb4 improve extract_number_en
- Support higher numbers, almost unreasonably high!
- Support long scale and short scale
2018-06-18 15:45:14 +02:00
Matthew D. Scholefield abd1fe7571
Merge pull request #1637 from forslund/feature/remove-monotonic
Use time.monotonic instead of monotonic module
2018-06-14 14:59:13 -05:00
Åke 3a22eea5ba
Merge pull request #1636 from MycroftAI/feature/upgrade-msm-padatious
Upgrade msm and padatious
2018-06-13 07:44:16 +02:00
Matthew D. Scholefield 85df3adbb0 Remove Padatious version check
No longer necessary now that we notify users when dependencies are out of date
2018-06-12 16:10:26 -05:00
Michael Nguyen d81d321ed0
Merge pull request #1627 from forslund/bugfix/socket-timeout
Fix changed default socket timeout
2018-06-12 16:01:47 -05:00
f-e-l-i-x b239d3dc2f German language support (#1634)
* Add parse and format functions for german
* Add german dialog files
2018-06-12 08:55:21 +02:00
Åke Forslund be8711a438 Use time.monotonic instead of monotonic module
Replace the monotonic time from the monotonic module with the built in time.monotonic
2018-06-11 16:05:50 +02:00
devs-mycroft cdd5800098 Version bump from 18.2.7 to 18.2.8 2018-06-08 20:18:28 +00:00
Matthew D. Scholefield 724a439117
Merge pull request #1628 from forslund/feature/pronounciations
Feature/pronounciations
2018-06-07 11:36:15 -05:00
Åke 5d6fd4d871
Merge pull request #1629 from MycroftAI/feature/https-ww-upload
Change wake word upload to https request
2018-06-07 08:58:28 +02:00
Åke b57a0ddb65 Use get_wch() to support unicode input in the CLI (#1609)
The CLI interface should now allow non-ASCII characters, including those used in non-English languages.
2018-06-06 17:02:48 -05:00
Matthew D. Scholefield 727e1c787c Change wake word upload to https request
Also strips out old alternative ways to enable wake word upload
The logic for uploading wake words is now:
 - Only if opt-in is enabled
 - With an additional "disable" setting to selectively prevent it
2018-06-06 14:53:11 -05:00
Åke Forslund 650e051b0b Handle words with capitals 2018-06-06 17:16:41 +02:00
Åke Forslund 3bf7db5e21 Add spotify and mycroftai pronounciations 2018-06-06 11:58:19 +02:00
Michael Nguyen f3bbdc60ec
Merge pull request #1620 from forslund/bugfix/message-reply
Make data optional in Message.reply()
2018-06-05 16:02:24 -05:00
Michael Nguyen 95ff9d3ee5
Merge pull request #1613 from forslund/bugfix/missing-remote-cache
Check that web cache exists before loading it
2018-06-05 16:02:12 -05:00
Michael Nguyen 0e1307ddf3
Merge pull request #1622 from MycroftAI/bugfix/e.message
Fix missing attribute in error
2018-06-05 16:01:55 -05:00
Åke Forslund 6d9ecef63e Fix changed default socket timeout
The default socket timeout was changed when checking the connectivity through connecting to a remote server (8.8.8.8). This has now been updated to only change the timeout for the socket used for the connection.
2018-06-05 17:20:14 +02:00
Åke Forslund dabc92a9b9 Handle unbuilt AdaptIntents
Switched type(intent) == IntentBuilder to isinstance(intent, IntentBuilder) to handle all derived types.
2018-06-02 08:56:15 +02:00
Matthew D. Scholefield dbdd67f965 Add AdaptIntent alias
It is used so that the init argument isn't required and so that it is imported from within the mycroft module
2018-06-01 20:01:25 -05:00
Matthew D. Scholefield 0a3f743b23 Fix missing attribute in error 2018-06-01 16:11:14 -05:00
Åke Forslund 2a34833394 Make data optional in Message.reply()
To make reply work in the same manner as a newly created message data
shall be optional. This allows mistakes like L1141 of
mycroft/skills/core.py, where the data field isn't set. (And causes an
exception when the line is hit.)
2018-06-01 10:23:13 +02:00
nabice c35d065299 Fix wrong variable name 2018-05-30 15:27:47 +08:00
Åke Forslund 85365823bc Check that web cache exists before loading it 2018-05-25 22:52:15 +02:00
devs-mycroft dc7044793f Version bump from 18.2.6 to 18.2.7 2018-05-24 19:24:46 +00:00
Åke Forslund 7b3885c3e4 Revert "Version bump from 18.2.6 to 18.2.7"
This reverts commit f98b6b3ab4.
2018-05-24 21:22:38 +02:00
devs-mycroft f98b6b3ab4 Version bump from 18.2.6 to 18.2.7 2018-05-24 19:19:36 +00:00
Åke e41da90ee3
Merge pull request #1608 from forslund/bugfix/chromecast-shutdown
Fix chromecast quitting app on mycroft shutdown.
2018-05-24 08:01:26 +02:00
Åke a0b0e99ffb
Merge pull request #1592 from MycroftAI/bugfix/skills-dir
Remove all references to /opt/mycroft/skills
2018-05-24 07:29:53 +02:00
Matthew D. Scholefield 509162de50 Support tilda in data_dir 2018-05-23 15:03:01 -05:00
jarbasal 0dee4af24c keep message context 2018-05-23 16:08:22 +02:00
Åke Forslund 04b81a7380 Add shutdown method to chromecast
The default method for the services call stop, in the chromecast case this isn't desirable since any playing application would be shutdown (even if mycroft didn't initiate it).

This overrides default behaviour and will merely disconnect from the device at shutdown.
2018-05-23 14:04:15 +02:00
Matthew D. Scholefield b0b88bbd62 Remove all references to /opt/mycroft 2018-05-23 08:22:14 +02:00
Matthew D. Scholefield 14ceb1f1dd Remove all references to /opt/mycroft/skills
The only thing that should reference it is the config
2018-05-23 08:22:14 +02:00
Åke 52abe14209
Merge pull request #1601 from MycroftAI/bugfix/retry-less
Make retrying skill installation less frequent
2018-05-22 17:00:39 +02:00
Åke 1f630f6815
Merge pull request #1527 from MycroftAI/feature/improved-skill-tester
Feature/improved skill tester
2018-05-21 16:13:32 +02:00
Matthew D. Scholefield 457ed15b05 Make retrying skill installation less frequent
This prevents things like modifying a default skill from causing skill updates once every 5 minutes
2018-05-17 23:03:50 -05:00
devs-mycroft 14803710f7 Version bump from 18.2.5 to 18.2.6 2018-05-18 00:40:28 +00:00
Matthew D. Scholefield 596834dbc8 Retry skill installation every 5 minutes if default skill install fails
This prevents errors with having a spotty internet connection during default skill installation
2018-05-17 17:23:49 -05:00
Matthew D. Scholefield f3ed6065c5 Check for uuid in response
If the meta already exists on the server, it won't have a uuid field in the response
2018-05-15 16:49:03 -05:00
Matthew D. Scholefield b36408dc39 Log exception in skill settings and fix docstrings 2018-05-15 15:58:36 -05:00
Matthew D. Scholefield 8c0b471d24 Fail wake word upload on first try
Previously failed wake words would collect and each one would attempt an upload and fail. Now, this does the same process but failing on the first wake word that fails to upload
2018-05-15 12:31:06 -05:00
Matthew D. Scholefield 3fa958cbac Make scp upload quiet and reduce saved seconds
The scp upload shows the account id which isn't the best to put in logs
The saved audio seconds used to contain audio before so that it could be used to identify multiple recordings that didn't activate the device. However, we've since moved to tagging only the last 3 seconds
2018-05-15 12:28:28 -05:00
Matthew D. Scholefield afe8641159 Stability improvements 2018-05-14 16:41:19 -05:00
Åke ad487cc9fc
Merge pull request #1586 from MycroftAI/feature/configurable-update-interval
Make skill update interval configurable
2018-05-14 22:39:26 +02:00
Matthew D. Scholefield d6f5dd95c5 Make skill update interval configurable 2018-05-14 15:21:36 -05:00
Matthew D. Scholefield 0850f5073a Fix tests for Python 3
- Change print statements
 - Change queue import
2018-05-14 14:27:37 -05:00
Matthew D. Scholefield 79bf94e48e Speed up intent tests by responding to converse requests 2018-05-14 14:27:37 -05:00
Matthew D. Scholefield 154ccd59d7 Expose single threaded training option from Padatious Service
This is necessary to prevent a deadlock when training during intent tests using pytest
2018-05-14 14:27:37 -05:00
Åke d63a747b9f
Enforce integer for positions in mouth display (#1588)
In python 3 these would default to floats, which trips up the arduino
2018-05-14 11:48:27 +02:00
Matthew D. Scholefield d1358cc0fc Fix skill reloading when files in subdirectories change 2018-05-11 12:04:30 -05:00
Åke Forslund 0087803d5d Fix trying to make integer from skill-id
skill id's are now the skill path, and can't be made into integers. This issue hinders padatious skills from running.
2018-05-11 10:30:06 -05:00
Åke e8682d8fc5
Merge pull request #1581 from forslund/feature/enclosure-1.4.0
Bump enclosure version to 1.4.0
2018-05-11 14:28:09 +02:00
Åke Forslund 79d183d59f Bump enclosure version to 1.4.0 2018-05-11 14:26:06 +02:00
Matthew D. Scholefield fc8424c9ee Make skill ids use skill folder
This is necessary because in Python 3, hash(x) changes every single start of the application. Using the skill folder makes it consistent. In addition, the skill folder makes it easier to debug parts of the application in comparison to using something like an md5sum
2018-05-10 18:52:17 -05:00
Matthew D. Scholefield 033f5dc010 Add configuration values for msm 2018-05-10 13:11:03 -05:00
Åke 98ede52596
Merge pull request #1572 from MycroftAI/feature/py_msm
Cleanup skill loading and implement python msm
2018-05-09 23:25:40 +02:00
Matthew D. Scholefield 6ecf4d986f Reinstall pip dependencies if virtualenv is removed
This keeps track of the skills whose dependencies have already been installed. While it won't automatically register newly installed skills, it will attempt to reinstall dependencies the next boot only one time so it shouldn't be a big issue.
2018-05-09 16:07:04 -05:00
Michael Nguyen c1a0963dad
Merge pull request #1574 from MycroftAI/bugfix/change-skill-settings-hash
Change skill settings hash to use skill name
2018-05-08 20:04:27 -04:00
Matthew D. Scholefield e86e0546d7 Make settings meta hashes consistent
str(dict) in python in implementation defined. json.dumps(..., sort_keys=True) is not
2018-05-08 17:17:45 -05:00
reginaneon c643cc9368 Typo in the Engine Options 2018-05-08 16:37:20 -05:00
Matthew D. Scholefield c301a3ca4d Change skill settings hash to use skill name
This prevents issues with the skill settings being dependent on skill folders. This is an issue because the new msm has a new skill naming scheme
2018-05-08 16:23:53 -05:00
Matthew D. Scholefield a20b5b565c Cleanup skill loading and implement python msm 2018-05-08 13:41:51 -05:00
Åke Forslund 61aeeb8c00 Fix issue using basestring
Checking against basestring was necessary in python two since unicode and string were separate classes. In python3 basestring was removed since different string classes have been removed.
2018-05-04 11:42:13 +02:00
Åke Forslund bf404b0bbc Fix python3 issues in serial transmission
Added basic conversion between string and bytes for sending data on the serial line.
2018-05-04 11:42:05 +02:00
Åke Forslund 8c5911ecf0 Fix code standard issues
- dev_setup.sh - replace `` with $()
- mycroft/skills/core.py remove remove redundant imports
- mycroft/tts/__init__.py remove remove redundant imports
2018-05-03 12:32:21 +02:00
Åke Forslund 8d81b4473b Fix french "centième" handling 2018-05-02 10:01:04 +02:00
Åke Forslund 5d50d22061 Fix listing skills
python3 dict_keys can't be serialized to json, and needs to be
explicitly converted to list
2018-05-02 08:35:17 +02:00
Matthew D. Scholefield 82a61c76c7 Fix infinite skill reloading by disabling folder checks
Python 3 modifies the __pycache__ folder which makes the parent folders update their timestamps causing an infinite skill reload
2018-04-27 11:44:07 -05:00