Commit Graph

2541 Commits (223c88b4dd84b5daaef7935cbd125b8cfde5ef8a)

Author SHA1 Message Date
Åke Forslund 921bc5f23d Add support for "expected dialog"
Loads dialogs and checks if any skills responds with one of the possible
dialogs.
2018-05-14 14:27:37 -05:00
Åke Forslund d10ba29f70 Fix pep8 issues 2018-05-14 14:27:37 -05:00
Åke Forslund 3fcb40c2bb Add new rule 'exists'
Rule is satisfied if the entry exists in the data field not taking into
account it's value at all:

Example:
{
    "utterance": "set an alarm on july 4th 2016 at 3pm",
    "evaluation_timeout": 10,
    "assert": "[['and', ['exists', 'ampm'], ['exists', 'time'] ]]"
}
2018-05-14 14:27:37 -05:00
Åke Forslund 90e719c29e Add padatious and fallbacks 2018-05-14 14:27:37 -05:00
Åke Forslund 3a9242c1c7 Allow utterance without intent_type and intents 2018-05-14 14:27:37 -05:00
Åke Forslund a206807606 Add simple script for running a single skill
Based on the skill_developers_testrunner.py, takes the path to a skill
as argument and runs any tests for that skill.
2018-05-14 14:27:37 -05:00
CarstenAgerskov 8ab30500d7 Cleaner and better format for examples in message_tester 2018-05-14 14:27:37 -05:00
CarstenAgerskov 1cbedaea3c Added test_all_skills. More doc. 2018-05-14 14:27:37 -05:00
CarstenAgerskov 6c226ea4d9 Added message tester utility. Reduced line length to <80 chars in general 2018-05-14 14:27:37 -05:00
CarstenAgerskov a16c2a0ecc Added support for context, mycroft response and more. 2018-05-14 14:27:37 -05:00
CarstenAgerskov 7e9a05f4e0 First cut at skill tester
Minimum viable solution for running existing testcases (json files).
Currently considered additions:
(16, 3) # TODO: Make template for testing one skill only, for the skill
developer to use
(138, 11) # TODO: Pass something to intent, that tells that this is a
test run. The skill intent can then avoid side effects
(144, 11) # TODO: add optional timeout parameter to test_case
(155, 11) # TODO: Check that all intents are checked (what about
context)
(169, 3) # TODO: Add command line utility to test an event against a
test_case, allow for debugging tests
(173, 11) # TODO: Add support for expected response, and others
2018-05-14 14:27:37 -05:00
Matthew D. Scholefield 397435afcb Update msm version (#1589) 2018-05-14 20:15:51 +02: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
Åke Forslund 51c21d87ad Fix not upgraded python packages 2018-05-11 16:31:04 -05:00
Åke 668323510e
Merge pull request #1585 from MycroftAI/bugfix/skill-reload
Fix skill reloading when files in subdirectories change
2018-05-11 20:01:01 +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
Michael Nguyen e54b46b06f
Merge pull request #1580 from MycroftAI/bugfix/consistent-skill-ids
Make skill ids use skill folder
2018-05-11 01:29:48 -05: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
Michael Nguyen 67b610373d
Merge pull request #1578 from MycroftAI/feature/msm-upgrade
Upgrade msm
2018-05-10 17:51:01 -04:00
Matthew D. Scholefield 88e118538d Upgrade msm
This brings in a bug fix that prevents space separated words from having a low confidence in the search
2018-05-10 15:54:50 -05:00
Michael Nguyen 4d571adfbe
Merge pull request #1577 from MycroftAI/feature/msm-config
Add configuration values for msm
2018-05-10 14:50:04 -04:00
Matthew D. Scholefield 033f5dc010 Add configuration values for msm 2018-05-10 13:11:03 -05:00
Åke c6ab815c62
Merge pull request #1575 from MycroftAI/feature/msm-0.5.3
Upgrade msm
2018-05-10 19:03:27 +02:00
Matthew D. Scholefield 355fd0f084
Upgrade msm
This fixes sudo pip access through a sudoers file
2018-05-10 11:44:56 -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
Matthew D. Scholefield 99307a96bc
Merge pull request #1568 from MycroftAI/18.02
The BIG move to python3
2018-05-08 10:19:35 -05:00
Matthew D. Scholefield adc1189a86
Merge pull request #1570 from jrwarwick/feature/skiller-settingsmeta
skiller.sh addition: settingsmeta.json.example creation
2018-05-07 09:47:24 -05:00
Matthew D. Scholefield 2910621f80 Fix formatting in skiller.sh 2018-05-07 09:46:02 -05:00
Åke Forslund cf5b09a0e3 Add travis tests for python versions 3.4-3.6 2018-05-05 16:59:20 +02:00
jrwarwick db05a0cabb Clean up quoting and escaping for the settingsmeta.json.example and make gitignore entry. 2018-05-04 16:04:31 -07:00
jrwarwick bb5676f353 Add a settingsmeta.json.example creator heredoc. 2018-05-04 09:04:19 -07: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 1d0844f2c4 Fix failing tests.
core.py: replace zip with list comprehension
test_parse_fr.py: remove superfluous "0":s
2018-05-02 09:17:50 +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
Matthew D. Scholefield 0abc3c78b1 Fix counting function arguments in Python 3 2018-04-27 11:42:54 -05:00
Matthew D. Scholefield 57a9b0b8e1 Fix running rePIP hack in msm 2018-04-27 11:42:27 -05:00
Matthew D. Scholefield f7f55546f3 Check for bin/activate when deciding to install venv 2018-04-27 09:14:11 -05:00