mycroftai / mycroft-core Goto Github PK
View Code? Open in Web Editor NEWMycroft Core, the Mycroft Artificial Intelligence platform.
Home Page: https://mycroft.ai
License: Apache License 2.0
Mycroft Core, the Mycroft Artificial Intelligence platform.
Home Page: https://mycroft.ai
License: Apache License 2.0
Just noticed this, it would be be nice if it did:)
Beware of this update, arduino side of the device not responding after update.
To better suit collaboration and transparency, all Python files should carry a valid license header.
This is a sub-issue of issue #2
Mycroft should be able to tell you about himself, as well as be able to respond to phrases directed at him. So Thanks, Mycroft
should make him respond You're welcome
rather than searching for Thanks
.
Multiple links lead to
https://github.com/MycroftAI/mycroft
as opposed to
https://github.com/MycroftAI/mycroft-core
Specifically, the links on https://docs.mycroft.ai/development/skills-sdk are broken.
All the code files in the project must have a copyright header:
When using the mycroft-skill-container the skill may be launched from any location in the file system this makes things complicated if the skill is split up in different files as imports will be relative to the position in the file system and not the skill.
There is an issue with the NPR news skill, there is no way to stop this skill when it is activated. You cannot stop the skill by clicking the button.
The only way to stop it, from my experience is to SSH the device and perform 'sudo reboot'.
We need to check for description status before we display the premium subscription proposition.
Had Wikipedia handling this, but Wolfram should handle it better, need to fix it so that "Who is" and "Who was" are not removed from the query.
.2016-05-28 14:17:38,085 - mycroft.client.speech.listener - DEBUG - STT: what's the weather next week
Exception in thread Thread-17:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/seanfitz/development/mycroft-core/mycroft/client/speech/listener.py", line 197, in runnable
audio, metrics=self.metrics).lower()
File "/home/seanfitz/development/mycroft-core/mycroft/client/speech/recognizer_wrapper.py", line 46, in transcribe
audio, key=key, language=language, show_all=show_all)
File "/home/seanfitz/development/mycroft-core/test/client/audio_consumer_test.py", line 38, in recognize_google
return self.transcriptions.pop(0)
IndexError: pop from empty list
This should be the case. Better quality and we maintain the project. Just makes sense.
When I go to the devices page and click the Register New Device button, it takes me to https://cerberus.mycroft.ai/pairing.html
When I click the register menu, it takes me instead to https://cerberus.mycroft.ai/register
It is the same page, so it should have the same URL.
Also I find it confusing that you are using two words for the same process. I think you should decide if you will use register or pair, and use it consistently everywhere. Right now the menu item says register but the page heading is "Pairing Your Device".
To better suit collaboration (and clean code) the codebase should be entirely PEP8 compliant.
autopep8
might be the saving grace for the initial step here. A test should also be added, perhaps
as part of Travis CI. Might want to add pipe exit code checking here.
find . -name "*.py"
| xargs pep8
This is a subtask of issue #2
There seems to be a lot of issues that seem to be fixable if the websites went open side
Specifically, why sudo shouldn't be necessary, and why sudo is (in general) bad. This keeps coming up. #32
Mycroft should be able to know when someone is talking about a previous query, e.g.
User: Mycroft, who is Lebron James?
...
User: Mycroft, how tall is he?
Mycroft: 6 feet 8 inches.
The page says: Use this portal to pair Mycroft devices with your account and manage configuration..
There is an extra period at the end of that sentence.
To reproduce:
Go to https://cerberus.mycroft.ai/
If you are logged in, click log out.
When running Mycroft on my Ubuntu 16.04 machine, it will occasionally give the following error in the terminal:
2016-05-31 11:59:02,796 - Skills - DEBUG - {"message_type": "recognizer_loop:audio_output_end", "context": null, "metadata": {}}
WebSocketConnectionClosedException('Connection is already closed.',)
2016-05-31 11:59:03,273 - mycroft.messagebus.client.ws - WARNING - Disconnecting on error, reconnecting in 32 seconds.
Mycroft still seems to be responding, but is somewhat slow to respond when this error is given.
The thread created to run the speak action in listener.py is causing an undesirable behaviour of emitting an audio start and end event at the same time when trying to pair a device. In addition, it seems an unnecessary overhead, because the speak function uses the self.emitter.emit("speak", Message("speak", metadata=payload))
to shoot the message in an asynchronous way.
Having this error, after a fresh setup.
Traceback (most recent call last):
File "/home/aatchison/mycroft-core/mycroft/client/speech/main.py", line 13, in
tts = tts_factory.create()
File "/home/aatchison/mycroft-core/mycroft/tts/tts_factory.py", line 33, in create
mimic_tts.MimicValidator().validate(tts)
File "/home/aatchison/mycroft-core/mycroft/tts/init.py", line 43, in validate
self.validate_connection(tts)
File "/home/aatchison/mycroft-core/mycroft/tts/mimic_tts.py", line 35, in validate_connection
raise Exception('Mimic is not installed. Make sure install-mimic.sh ran properly.')
Exception: Mimic is not installed. Make sure install-mimic.sh ran properly.
Mycroft should be able to carry on a conversation about certain things, such as ordering a pizza.
User: Mycroft, I want to order a pizza from [pizza place].
Mycroft: Sure, what would you like on your pizza?
User: Pepperoni.
Mycroft: Would you like anything else on it?
User: No, that's it.
Mycroft: What size of pizza would you like?
...
Anything with a mccabe number greater than 10 is way too complex.
โซ flake8 --max-complexity=10 . | grep complex
./mycroft/client/speech/mic.py:106:1: C901 'Recognizer.listen' is too complex (16)
./mycroft/client/speech/recognizer_wrapper.py:59:1: C901 'CerberusGoogleProxy.transcribe' is too complex (11)
Getting the complexity even lower than 10 is great for readability.
clean up unit test output.
"Hey Mycroft, what's two plus two?"
2016-05-23 00:17:57,332 - SpeechClient - INFO - Utterance: [u'whats 2 plus 2']
2016-05-23 00:17:57,341 - METRICS - DEBUG - {"attributes": {"version": "dev-9aa9f47", "utterances": ["whats 2 plus 2"]}, "levels": {}, "timers": {"mycroft.stt.remote.time_s": [1.7695190906524658], "mycroft.cerberus.proxy.client.time_s": [1.7695190906524658], "mycroft.recognizer.extractor.time_s": [0.07558488845825195], "mycroft.recognizer.audio.length_s": [2.816], "mycroft.recognizer.audio_extracted.length_s": [0.95525, 1.89575], "mycroft.stt.local.time_s": [0.017687082290649414, 0.008194208145141602, 0.003365039825439453, 0.0054209232330322266, 0.007082939147949219, 0.006096839904785156, 0.006500959396362305, 0.007088899612426758, 0.004624128341674805, 0.006964921951293945, 0.005579948425292969, 0.004889965057373047, 0.00451207160949707, 0.004775047302246094]}, "counters": {}}
2016-05-23 00:17:57,343 - SpeechClient - INFO - Speak: I am searching for whats 2 plus 2
2016-05-23 00:18:00,693 - SpeechClient - INFO - Speak: footร2+2 feet is 4 feet
I never mentioned "foot"...
Mycroft should be able to stop any TTS engine by voice or button pressing. This task depends on #55.
In order for the "Mycroft stop" voice command to function while playing audio or TTS, he needs to be able to hear himself over his own speaker. We have been playing with some pulse audio plugins that might do the job, but the unfortunate facts are:
A basic README should have at least these:
Clear (and distribution agnostic, for gnu/linux at least) install steps to get to a basic working status.
This missing right now (might be incomplete):
adapt-parser
is not on pip for example)An example of what one should do and what one should expect to happen. Right now you say:
run
./start.sh service
Sure, but why? And what does it do? What should I expect? Etc...
Looks promising but still some way to go!
PEP8 issues:
./mycroft-base-setup.py:3:80: E501 line too long (92 > 79 characters)
./test/client/audio_consumer_test.py:5:80: E501 line too long (91 > 79 characters)
./test/client/audio_consumer_test.py:6:80: E501 line too long (83 > 79 characters)
./test/client/audio_consumer_test.py:37:80: E501 line too long (86 > 79 characters)
./test/client/audio_consumer_test.py:43:80: E501 line too long (81 > 79 characters)
./test/client/audio_consumer_test.py:46:80: E501 line too long (93 > 79 characters)
./test/client/audio_consumer_test.py:51:80: E501 line too long (109 > 79 characters)
./test/client/audio_consumer_test.py:52:80: E501 line too long (107 > 79 characters)
./test/client/audio_consumer_test.py:54:80: E501 line too long (109 > 79 characters)
./test/client/audio_consumer_test.py:57:80: E501 line too long (80 > 79 characters)
./test/client/audio_consumer_test.py:69:80: E501 line too long (119 > 79 characters)
./test/client/audio_consumer_test.py:74:80: E501 line too long (119 > 79 characters)
./test/client/audio_consumer_test.py:79:80: E501 line too long (80 > 79 characters)
./test/client/audio_consumer_test.py:94:80: E501 line too long (109 > 79 characters)
./test/client/audio_consumer_test.py:110:54: E231 missing whitespace after ','
./test/client/audio_consumer_test.py:124:80: E501 line too long (80 > 79 characters)
./test/client/wakeword_recognizer_test.py:8:1: E402 module level import not at top of file
./test/client/wakeword_recognizer_test.py:10:9: E225 missing whitespace around operator
./test/client/wakeword_recognizer_test.py:12:1: E302 expected 2 blank lines, found 1
./test/client/dynamic_energy_test.py:53:80: E501 line too long (111 > 79 characters)
./test/client/dynamic_energy_test.py:54:32: E222 multiple spaces after operator
./test/client/dynamic_energy_test.py:54:80: E501 line too long (81 > 79 characters)
./test/client/dynamic_energy_test.py:56:58: W292 no newline at end of file
./test/skills/skill_tester.py:15:80: E501 line too long (87 > 79 characters)
./test/skills/skill_tester.py:30:36: E261 at least two spaces before inline comment
./test/skills/skill_tester.py:43:80: E501 line too long (95 > 79 characters)
./test/skills/skill_tester.py:54:80: E501 line too long (99 > 79 characters)
./test/skills/skill_tester.py:58:1: W391 blank line at end of file
./test/skills/discover_tests.py:13:80: E501 line too long (115 > 79 characters)
./test/skills/discover_tests.py:16:80: E501 line too long (100 > 79 characters)
./test/skills/discover_tests.py:34:80: E501 line too long (98 > 79 characters)
./test/skills/discover_tests.py:35:80: E501 line too long (87 > 79 characters)
./test/skills/discover_tests.py:42:1: W293 blank line contains whitespace
./test/skills/discover_tests.py:44:80: E501 line too long (102 > 79 characters)
./test/skills/discover_tests.py:51:1: W391 blank line at end of file
./test/test_runner.py:4:1: E402 module level import not at top of file
./test/test_runner.py:6:1: E402 module level import not at top of file
./test/test_runner.py:7:1: E402 module level import not at top of file
./test/test_runner.py:8:1: E402 module level import not at top of file
./test/test_runner.py:21:16: W292 no newline at end of file
./skills-sdk-setup.py:38:2: W292 no newline at end of file
./doc/generate_sdk_docs.py:53:11: W292 no newline at end of file
./mycroft/client/speech/listener.py:12:80: E501 line too long (83 > 79 characters)
./mycroft/client/speech/listener.py:29:80: E501 line too long (84 > 79 characters)
./mycroft/client/speech/listener.py:50:80: E501 line too long (106 > 79 characters)
./mycroft/client/speech/listener.py:51:80: E501 line too long (87 > 79 characters)
./mycroft/client/speech/listener.py:61:80: E501 line too long (116 > 79 characters)
./mycroft/client/speech/listener.py:62:80: E501 line too long (89 > 79 characters)
./mycroft/client/speech/listener.py:67:80: E501 line too long (132 > 79 characters)
./mycroft/client/speech/listener.py:104:80: E501 line too long (101 > 79 characters)
./mycroft/client/speech/listener.py:107:51: E203 whitespace before ':'
./mycroft/client/speech/listener.py:110:80: E501 line too long (111 > 79 characters)
./mycroft/client/speech/listener.py:112:80: E501 line too long (96 > 79 characters)
./mycroft/client/speech/listener.py:120:80: E501 line too long (102 > 79 characters)
./mycroft/client/speech/listener.py:123:80: E501 line too long (145 > 79 characters)
./mycroft/client/speech/listener.py:126:80: E501 line too long (99 > 79 characters)
./mycroft/client/speech/listener.py:127:80: E501 line too long (105 > 79 characters)
./mycroft/client/speech/listener.py:134:80: E501 line too long (83 > 79 characters)
./mycroft/client/speech/listener.py:135:64: E231 missing whitespace after ','
./mycroft/client/speech/listener.py:135:80: E501 line too long (93 > 79 characters)
./mycroft/client/speech/listener.py:138:80: E501 line too long (95 > 79 characters)
./mycroft/client/speech/listener.py:139:64: E231 missing whitespace after ','
./mycroft/client/speech/listener.py:139:80: E501 line too long (93 > 79 characters)
./mycroft/client/speech/listener.py:148:80: E501 line too long (87 > 79 characters)
./mycroft/client/speech/listener.py:150:80: E501 line too long (85 > 79 characters)
./mycroft/client/speech/listener.py:170:80: E501 line too long (82 > 79 characters)
./mycroft/client/speech/listener.py:176:80: E501 line too long (90 > 79 characters)
./mycroft/client/speech/listener.py:180:80: E501 line too long (95 > 79 characters)
./mycroft/client/speech/listener.py:190:80: E501 line too long (95 > 79 characters)
./mycroft/client/speech/listener.py:193:80: E501 line too long (86 > 79 characters)
./mycroft/client/speech/listener.py:196:80: E501 line too long (86 > 79 characters)
./mycroft/client/speech/listener.py:198:80: E501 line too long (115 > 79 characters)
./mycroft/client/speech/listener.py:200:80: E501 line too long (114 > 79 characters)
./mycroft/client/speech/listener.py:223:80: E501 line too long (80 > 79 characters)
./mycroft/client/speech/listener.py:233:80: E501 line too long (87 > 79 characters)
./mycroft/client/speech/listener.py:238:80: E501 line too long (89 > 79 characters)
./mycroft/client/speech/listener.py:239:80: E501 line too long (111 > 79 characters)
./mycroft/client/speech/listener.py:246:80: E501 line too long (101 > 79 characters)
./mycroft/client/speech/listener.py:250:80: E501 line too long (104 > 79 characters)
./mycroft/client/speech/listener.py:253:80: E501 line too long (113 > 79 characters)
./mycroft/client/speech/listener.py:300:80: E501 line too long (95 > 79 characters)
./mycroft/client/speech/listener.py:302:80: E501 line too long (99 > 79 characters)
./mycroft/client/speech/listener.py:303:80: E501 line too long (103 > 79 characters)
./mycroft/client/speech/listener.py:304:80: E501 line too long (122 > 79 characters)
./mycroft/client/speech/listener.py:307:80: E501 line too long (103 > 79 characters)
./mycroft/client/speech/listener.py:308:80: E501 line too long (108 > 79 characters)
./mycroft/client/speech/listener.py:324:80: E501 line too long (93 > 79 characters)
./mycroft/client/speech/wakeword_recognizer.py:4:1: E402 module level import not at top of file
./mycroft/client/speech/wakeword_recognizer.py:5:1: E402 module level import not at top of file
./mycroft/client/speech/wakeword_recognizer.py:7:1: E402 module level import not at top of file
./mycroft/client/speech/wakeword_recognizer.py:13:1: E402 module level import not at top of file
./mycroft/client/speech/wakeword_recognizer.py:15:1: E302 expected 2 blank lines, found 1
./mycroft/client/speech/wakeword_recognizer.py:17:80: E501 line too long (83 > 79 characters)
./mycroft/client/speech/wakeword_recognizer.py:22:14: E701 multiple statements on one line (colon)
./mycroft/client/speech/wakeword_recognizer.py:24:10: E222 multiple spaces after operator
./mycroft/client/speech/wakeword_recognizer.py:25:6: E225 missing whitespace around operator
./mycroft/client/speech/wakeword_recognizer.py:48:80: E501 line too long (81 > 79 characters)
./mycroft/client/speech/wakeword_recognizer.py:49:80: E501 line too long (97 > 79 characters)
./mycroft/client/speech/wakeword_recognizer.py:58:31: W292 no newline at end of file
./mycroft/client/speech/mic.py:7:80: E501 line too long (83 > 79 characters)
./mycroft/client/speech/mic.py:16:31: E711 comparison to None should be 'if cond is not None:'
./mycroft/client/speech/mic.py:60:36: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:60:38: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:60:56: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:60:58: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:60:76: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:60:78: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:60:80: E501 line too long (84 > 79 characters)
./mycroft/client/speech/mic.py:61:80: E501 line too long (108 > 79 characters)
./mycroft/client/speech/mic.py:65:80: E501 line too long (91 > 79 characters)
./mycroft/client/speech/mic.py:68:31: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:68:33: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:68:61: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:68:63: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:69:19: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:69:21: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:69:39: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:69:41: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:69:77: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:69:79: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:69:80: E501 line too long (90 > 79 characters)
./mycroft/client/speech/mic.py:70:18: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:70:20: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:70:26: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:97:37: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:97:39: E251 unexpected spaces around keyword / parameter equals
./mycroft/client/speech/mic.py:99:80: E501 line too long (127 > 79 characters)
./mycroft/client/speech/mic.py:101:80: E501 line too long (313 > 79 characters)
./mycroft/client/speech/mic.py:103:80: E501 line too long (245 > 79 characters)
./mycroft/client/speech/mic.py:105:80: E501 line too long (80 > 79 characters)
./mycroft/client/speech/mic.py:109:80: E501 line too long (158 > 79 characters)
./mycroft/client/speech/mic.py:109:87: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:110:80: E501 line too long (181 > 79 characters)
./mycroft/client/speech/mic.py:110:89: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:111:80: E501 line too long (176 > 79 characters)
./mycroft/client/speech/mic.py:111:100: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:113:80: E501 line too long (82 > 79 characters)
./mycroft/client/speech/mic.py:114:25: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:121:55: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:121:80: E501 line too long (84 > 79 characters)
./mycroft/client/speech/mic.py:125:36: E701 multiple statements on one line (colon)
./mycroft/client/speech/mic.py:125:43: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:127:60: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:127:80: E501 line too long (123 > 79 characters)
./mycroft/client/speech/mic.py:131:66: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:131:80: E501 line too long (94 > 79 characters)
./mycroft/client/speech/mic.py:132:50: E701 multiple statements on one line (colon)
./mycroft/client/speech/mic.py:134:80: E501 line too long (92 > 79 characters)
./mycroft/client/speech/mic.py:135:80: E501 line too long (103 > 79 characters)
./mycroft/client/speech/mic.py:143:36: E701 multiple statements on one line (colon)
./mycroft/client/speech/mic.py:143:43: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:147:80: E501 line too long (102 > 79 characters)
./mycroft/client/speech/mic.py:148:66: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:148:80: E501 line too long (94 > 79 characters)
./mycroft/client/speech/mic.py:153:53: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:156:80: E501 line too long (81 > 79 characters)
./mycroft/client/speech/mic.py:157:80: E501 line too long (86 > 79 characters)
./mycroft/client/speech/mic.py:160:80: E501 line too long (80 > 79 characters)
./mycroft/client/speech/mic.py:163:80: E501 line too long (99 > 79 characters)
./mycroft/client/speech/mic.py:165:51: E701 multiple statements on one line (colon)
./mycroft/client/speech/mic.py:165:58: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:165:80: E501 line too long (97 > 79 characters)
./mycroft/client/speech/mic.py:168:64: E701 multiple statements on one line (colon)
./mycroft/client/speech/mic.py:168:78: E261 at least two spaces before inline comment
./mycroft/client/speech/mic.py:168:80: E501 line too long (123 > 79 characters)
./mycroft/client/speech/mic.py:175:80: E501 line too long (129 > 79 characters)
./mycroft/client/speech/mic.py:177:80: E501 line too long (99 > 79 characters)
./mycroft/client/speech/mic.py:177:100: W292 no newline at end of file
./mycroft/client/speech/recognizer_wrapper.py:24:80: E501 line too long (80 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:26:80: E501 line too long (101 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:33:80: E501 line too long (80 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:34:80: E501 line too long (97 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:43:80: E501 line too long (80 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:46:80: E501 line too long (109 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:53:80: E501 line too long (80 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:59:80: E501 line too long (92 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:81:20: E701 multiple statements on one line (colon)
./mycroft/client/speech/recognizer_wrapper.py:84:46: E701 multiple statements on one line (colon)
./mycroft/client/speech/recognizer_wrapper.py:87:80: E501 line too long (85 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:88:80: E501 line too long (83 > 79 characters)
./mycroft/client/speech/recognizer_wrapper.py:95:80: E501 line too long (90 > 79 characters)
./mycroft/client/speech/main.py:19:1: E302 expected 2 blank lines, found 1
./mycroft/client/speech/main.py:82:80: E501 line too long (86 > 79 characters)
./mycroft/client/enclosure/enclosure.py:24:80: E501 line too long (86 > 79 characters)
./mycroft/client/enclosure/enclosure.py:65:80: E501 line too long (80 > 79 characters)
./mycroft/client/enclosure/enclosure.py:112:80: E501 line too long (91 > 79 characters)
./mycroft/client/enclosure/enclosure.py:133:80: E501 line too long (104 > 79 characters)
./mycroft/client/enclosure/enclosure.py:134:80: E501 line too long (117 > 79 characters)
./mycroft/client/enclosure/enclosure.py:136:80: E501 line too long (86 > 79 characters)
./mycroft/client/enclosure/api.py:13:80: E501 line too long (81 > 79 characters)
./mycroft/client/enclosure/api.py:26:80: E501 line too long (86 > 79 characters)
./mycroft/client/enclosure/api.py:35:80: E501 line too long (82 > 79 characters)
./mycroft/client/enclosure/api.py:41:80: E501 line too long (81 > 79 characters)
./mycroft/client/enclosure/api.py:44:80: E501 line too long (92 > 79 characters)
./mycroft/client/enclosure/api.py:47:80: E501 line too long (84 > 79 characters)
./mycroft/client/enclosure/api.py:65:80: E501 line too long (82 > 79 characters)
./mycroft/client/text/cli.py:34:8: E713 test for membership should be 'not in'
./mycroft/client/text/cli.py:43:80: E501 line too long (102 > 79 characters)
./mycroft/messagebus/client/ws.py:35:80: E501 line too long (95 > 79 characters)
./mycroft/messagebus/client/ws.py:36:36: E127 continuation line over-indented for visual indent
./mycroft/messagebus/client/ws.py:37:36: E127 continuation line over-indented for visual indent
./mycroft/messagebus/client/ws.py:38:36: E127 continuation line over-indented for visual indent
./mycroft/messagebus/client/ws.py:39:36: E127 continuation line over-indented for visual indent
./mycroft/messagebus/client/ws.py:55:80: E501 line too long (87 > 79 characters)
./mycroft/messagebus/client/ws.py:64:80: E501 line too long (95 > 79 characters)
./mycroft/messagebus/client/ws.py:67:80: E501 line too long (85 > 79 characters)
./mycroft/messagebus/client/ws.py:89:5: E301 expected 1 blank line, found 0
./mycroft/messagebus/client/ws.py:100:11: W292 no newline at end of file
./mycroft/messagebus/message.py:2:1: E402 module level import not at top of file
./mycroft/messagebus/message.py:47:68: W292 no newline at end of file
./mycroft/messagebus/service/ws.py:21:80: E501 line too long (89 > 79 characters)
./mycroft/messagebus/service/ws.py:35:80: E501 line too long (86 > 79 characters)
./mycroft/messagebus/service/ws.py:51:80: E501 line too long (101 > 79 characters)
./mycroft/messagebus/service/main.py:16:1: E303 too many blank lines (4)
./mycroft/identity/__init__.py:29:80: E501 line too long (91 > 79 characters)
./mycroft/tts/google_tts.py:33:80: E501 line too long (109 > 79 characters)
./mycroft/tts/tts_factory.py:18:80: E501 line too long (127 > 79 characters)
./mycroft/tts/fa_tts.py:49:80: E501 line too long (115 > 79 characters)
./mycroft/tts/spdsay_tts.py:15:80: E501 line too long (81 > 79 characters)
./mycroft/tts/spdsay_tts.py:30:80: E501 line too long (111 > 79 characters)
./mycroft/tts/mary_tts.py:46:80: E501 line too long (116 > 79 characters)
./mycroft/tts/remote_tts.py:19:80: E501 line too long (108 > 79 characters)
./mycroft/tts/remote_tts.py:52:80: E501 line too long (120 > 79 characters)
./mycroft/tts/remote_tts.py:64:80: E501 line too long (101 > 79 characters)
./mycroft/tts/__init__.py:15:80: E501 line too long (93 > 79 characters)
./mycroft/tts/__init__.py:33:80: E501 line too long (99 > 79 characters)
./mycroft/tts/__init__.py:48:80: E501 line too long (80 > 79 characters)
./mycroft/tts/__init__.py:53:80: E501 line too long (83 > 79 characters)
./mycroft/tts/__init__.py:57:80: E501 line too long (88 > 79 characters)
./mycroft/tts/mimic_tts.py:13:80: E501 line too long (80 > 79 characters)
./mycroft/tts/mimic_tts.py:35:80: E501 line too long (95 > 79 characters)
./mycroft/tts/espeak_tts.py:15:80: E501 line too long (81 > 79 characters)
./mycroft/tts/espeak_tts.py:30:80: E501 line too long (100 > 79 characters)
./mycroft/session/__init__.py:56:80: E501 line too long (98 > 79 characters)
./mycroft/session/__init__.py:58:80: E501 line too long (117 > 79 characters)
./mycroft/session/__init__.py:59:80: E501 line too long (96 > 79 characters)
./mycroft/session/__init__.py:71:1: W391 blank line at end of file
./mycroft/pairing/client.py:29:80: E501 line too long (85 > 79 characters)
./mycroft/pairing/client.py:32:80: E501 line too long (82 > 79 characters)
./mycroft/pairing/client.py:61:1: E303 too many blank lines (3)
./mycroft/pairing/client.py:65:11: W292 no newline at end of file
./mycroft/skills/core.py:34:80: E501 line too long (98 > 79 characters)
./mycroft/skills/core.py:37:80: E501 line too long (116 > 79 characters)
./mycroft/skills/core.py:42:80: E501 line too long (89 > 79 characters)
./mycroft/skills/core.py:59:80: E501 line too long (104 > 79 characters)
./mycroft/skills/core.py:60:80: E501 line too long (112 > 79 characters)
./mycroft/skills/core.py:66:80: E501 line too long (93 > 79 characters)
./mycroft/skills/core.py:68:80: E501 line too long (88 > 79 characters)
./mycroft/skills/core.py:77:80: E501 line too long (81 > 79 characters)
./mycroft/skills/core.py:97:80: E501 line too long (91 > 79 characters)
./mycroft/skills/core.py:103:80: E501 line too long (100 > 79 characters)
./mycroft/skills/core.py:137:80: E501 line too long (87 > 79 characters)
./mycroft/skills/core.py:158:80: E501 line too long (90 > 79 characters)
./mycroft/skills/core.py:159:80: E501 line too long (107 > 79 characters)
./mycroft/skills/core.py:164:80: E501 line too long (100 > 79 characters)
./mycroft/skills/core.py:168:80: E501 line too long (83 > 79 characters)
./mycroft/skills/core.py:177:80: E501 line too long (93 > 79 characters)
./mycroft/skills/wiki/__init__.py:23:80: E501 line too long (121 > 79 characters)
./mycroft/skills/wiki/__init__.py:24:80: E501 line too long (121 > 79 characters)
./mycroft/skills/wiki/__init__.py:29:80: E501 line too long (110 > 79 characters)
./mycroft/skills/wiki/__init__.py:32:80: E501 line too long (109 > 79 characters)
./mycroft/skills/wiki/__init__.py:44:80: E501 line too long (98 > 79 characters)
./mycroft/skills/wiki/__init__.py:58:80: E501 line too long (81 > 79 characters)
./mycroft/skills/desktop_launcher/__init__.py:60:80: E501 line too long (99 > 79 characters)
./mycroft/skills/desktop_launcher/__init__.py:64:80: E501 line too long (120 > 79 characters)
./mycroft/skills/desktop_launcher/__init__.py:67:80: E501 line too long (114 > 79 characters)
./mycroft/skills/npr_news/__init__.py:25:80: E501 line too long (81 > 79 characters)
./mycroft/skills/alarm/__init__.py:26:80: E501 line too long (86 > 79 characters)
./mycroft/skills/intent/__init__.py:25:80: E501 line too long (92 > 79 characters)
./mycroft/skills/intent/__init__.py:26:80: E501 line too long (88 > 79 characters)
./mycroft/skills/intent/__init__.py:31:80: E501 line too long (87 > 79 characters)
./mycroft/skills/intent/__init__.py:34:80: E501 line too long (95 > 79 characters)
./mycroft/skills/intent/__init__.py:36:80: E501 line too long (109 > 79 characters)
./mycroft/skills/intent/__init__.py:46:80: E501 line too long (86 > 79 characters)
./mycroft/skills/intent/__init__.py:54:80: E501 line too long (86 > 79 characters)
./mycroft/skills/volume/__init__.py:15:80: E501 line too long (100 > 79 characters)
./mycroft/skills/volume/__init__.py:27:80: E501 line too long (106 > 79 characters)
./mycroft/skills/volume/__init__.py:30:80: E501 line too long (95 > 79 characters)
./mycroft/skills/volume/__init__.py:33:80: E501 line too long (95 > 79 characters)
./mycroft/skills/volume/__init__.py:36:80: E501 line too long (87 > 79 characters)
./mycroft/skills/volume/__init__.py:39:80: E501 line too long (89 > 79 characters)
./mycroft/skills/volume/__init__.py:63:80: E501 line too long (101 > 79 characters)
./mycroft/skills/reminder/__init__.py:16:80: E501 line too long (119 > 79 characters)
./mycroft/skills/reminder/__init__.py:19:80: E501 line too long (85 > 79 characters)
./mycroft/skills/reminder/__init__.py:27:80: E501 line too long (92 > 79 characters)
./mycroft/skills/reminder/__init__.py:60:80: E501 line too long (101 > 79 characters)
./mycroft/skills/reminder/__init__.py:81:80: E501 line too long (90 > 79 characters)
./mycroft/skills/dial_call/__init__.py:15:80: E501 line too long (93 > 79 characters)
./mycroft/skills/dial_call/__init__.py:16:80: E501 line too long (108 > 79 characters)
./mycroft/skills/dial_call/__init__.py:20:80: E501 line too long (106 > 79 characters)
./mycroft/skills/dial_call/__init__.py:28:80: E501 line too long (102 > 79 characters)
./mycroft/skills/dial_call/__init__.py:54:80: E501 line too long (96 > 79 characters)
./mycroft/skills/spelling/__init__.py:17:80: E501 line too long (85 > 79 characters)
./mycroft/skills/spelling/__init__.py:20:80: E501 line too long (99 > 79 characters)
./mycroft/skills/weather/owm_repackaged/configuration25_mycroft.py:66:5: E122 continuation line missing indentation or outdented
./mycroft/skills/weather/owm_repackaged/configuration25_mycroft.py:98:5: E122 continuation line missing indentation or outdented
./mycroft/skills/weather/owm_repackaged/configuration25_mycroft.py:106:5: E122 continuation line missing indentation or outdented
./mycroft/skills/weather/owm_repackaged/configuration25_mycroft.py:114:5: E122 continuation line missing indentation or outdented
./mycroft/skills/weather/owm_repackaged/owm25.py:35:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owm25.py:47:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owm25.py:54:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owm25.py:117:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owm25.py:153:43: E128 continuation line under-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:153:53: E231 missing whitespace after ','
./mycroft/skills/weather/owm_repackaged/owm25.py:243:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owm25.py:275:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owm25.py:294:17: E127 continuation line over-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:296:17: E127 continuation line over-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:298:17: E127 continuation line over-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:300:17: E127 continuation line over-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:303:17: E127 continuation line over-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:307:78: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:308:31: E225 missing whitespace around operator
./mycroft/skills/weather/owm_repackaged/owm25.py:310:77: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:311:31: E225 missing whitespace around operator
./mycroft/skills/weather/owm_repackaged/owm25.py:313:78: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:314:31: E225 missing whitespace around operator
./mycroft/skills/weather/owm_repackaged/owm25.py:321:56: E231 missing whitespace after ','
./mycroft/skills/weather/owm_repackaged/owm25.py:380:43: E128 continuation line under-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:490:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owm25.py:571:5: E303 too many blank lines (2)
./mycroft/skills/weather/owm_repackaged/owm25.py:605:73: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:609:73: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:614:76: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:656:73: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:660:73: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:665:76: E502 the backslash is redundant between brackets
./mycroft/skills/weather/owm_repackaged/owm25.py:828:39: E128 continuation line under-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:829:39: E128 continuation line under-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:830:39: E128 continuation line under-indented for visual indent
./mycroft/skills/weather/owm_repackaged/owm25.py:831:39: E128 continuation line under-indented for visual indent
./mycroft/skills/weather/owm_repackaged/__init__.py:35:80: E501 line too long (80 > 79 characters)
./mycroft/skills/weather/owm_repackaged/__init__.py:44:80: E501 line too long (91 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owmhttpclient.py:60:80: E501 line too long (107 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owmhttpclient.py:67:80: E501 line too long (84 > 79 characters)
./mycroft/skills/weather/owm_repackaged/owmhttpclient.py:72:80: E501 line too long (84 > 79 characters)
./mycroft/skills/weather/__init__.py:22:80: E501 line too long (92 > 79 characters)
./mycroft/skills/weather/__init__.py:33:80: E501 line too long (111 > 79 characters)
./mycroft/skills/weather/__init__.py:37:80: E501 line too long (107 > 79 characters)
./mycroft/skills/weather/__init__.py:42:80: E501 line too long (105 > 79 characters)
./mycroft/skills/weather/__init__.py:69:80: E501 line too long (94 > 79 characters)
./mycroft/skills/weather/__init__.py:80:80: E501 line too long (88 > 79 characters)
./mycroft/skills/weather/__init__.py:81:80: E501 line too long (86 > 79 characters)
./mycroft/skills/weather/__init__.py:88:80: E501 line too long (111 > 79 characters)
./mycroft/skills/cerberus_config/__init__.py:31:33: W292 no newline at end of file
./mycroft/skills/pairing/__init__.py:15:80: E501 line too long (86 > 79 characters)
./mycroft/skills/pairing/__init__.py:24:80: E501 line too long (98 > 79 characters)
./mycroft/skills/pairing/__init__.py:27:5: E303 too many blank lines (2)
./mycroft/skills/send_sms/__init__.py:15:80: E501 line too long (93 > 79 characters)
./mycroft/skills/send_sms/__init__.py:16:80: E501 line too long (110 > 79 characters)
./mycroft/skills/send_sms/__init__.py:20:80: E501 line too long (106 > 79 characters)
./mycroft/skills/send_sms/__init__.py:26:80: E501 line too long (84 > 79 characters)
./mycroft/skills/send_sms/__init__.py:28:80: E501 line too long (119 > 79 characters)
./mycroft/skills/send_sms/__init__.py:56:80: E501 line too long (111 > 79 characters)
./mycroft/skills/container.py:20:80: E501 line too long (87 > 79 characters)
./mycroft/skills/container.py:21:80: E501 line too long (97 > 79 characters)
./mycroft/skills/container.py:23:80: E501 line too long (88 > 79 characters)
./mycroft/skills/container.py:24:80: E501 line too long (81 > 79 characters)
./mycroft/skills/time_rules.py:30:80: E501 line too long (83 > 79 characters)
./mycroft/skills/time_rules.py:31:80: E501 line too long (93 > 79 characters)
./mycroft/skills/time_rules.py:37:80: E501 line too long (80 > 79 characters)
./mycroft/skills/time_rules.py:66:80: E501 line too long (84 > 79 characters)
./mycroft/skills/time_rules.py:67:80: E501 line too long (110 > 79 characters)
./mycroft/skills/time_rules.py:68:80: E501 line too long (98 > 79 characters)
./mycroft/skills/time_rules.py:71:80: E501 line too long (110 > 79 characters)
./mycroft/skills/time_rules.py:73:80: E501 line too long (85 > 79 characters)
./mycroft/skills/time_rules.py:74:80: E501 line too long (95 > 79 characters)
./mycroft/skills/time_rules.py:75:80: E501 line too long (104 > 79 characters)
./mycroft/skills/time_rules.py:77:80: E501 line too long (102 > 79 characters)
./mycroft/skills/time_rules.py:78:80: E501 line too long (114 > 79 characters)
./mycroft/skills/time_rules.py:86:80: E501 line too long (93 > 79 characters)
./mycroft/skills/scheduled_skills.py:17:80: E501 line too long (90 > 79 characters)
./mycroft/skills/scheduled_skills.py:19:80: E501 line too long (97 > 79 characters)
./mycroft/skills/scheduled_skills.py:56:80: E501 line too long (94 > 79 characters)
./mycroft/skills/scheduled_skills.py:69:80: E501 line too long (95 > 79 characters)
./mycroft/skills/scheduled_skills.py:71:80: E501 line too long (89 > 79 characters)
./mycroft/skills/scheduled_skills.py:73:80: E501 line too long (117 > 79 characters)
./mycroft/skills/scheduled_skills.py:99:80: E501 line too long (84 > 79 characters)
./mycroft/skills/scheduled_skills.py:100:80: E501 line too long (80 > 79 characters)
./mycroft/skills/scheduled_skills.py:101:80: E501 line too long (84 > 79 characters)
./mycroft/skills/scheduled_skills.py:113:80: E501 line too long (90 > 79 characters)
./mycroft/skills/scheduled_skills.py:116:80: E501 line too long (88 > 79 characters)
./mycroft/skills/scheduled_skills.py:120:80: E501 line too long (92 > 79 characters)
./mycroft/skills/scheduled_skills.py:139:80: E501 line too long (88 > 79 characters)
./mycroft/skills/scheduled_skills.py:196:80: E501 line too long (86 > 79 characters)
./mycroft/skills/scheduled_skills.py:225:80: E501 line too long (80 > 79 characters)
./mycroft/skills/naptime/__init__.py:16:80: E501 line too long (86 > 79 characters)
./mycroft/skills/ip_skill/__init__.py:24:80: E501 line too long (113 > 79 characters)
./mycroft/skills/ip_skill/__init__.py:26:80: E501 line too long (108 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:21:80: E501 line too long (118 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:27:80: E501 line too long (140 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:28:80: E501 line too long (111 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:38:80: E501 line too long (85 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:88:80: E501 line too long (87 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:99:80: E501 line too long (137 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:118:80: E501 line too long (80 > 79 characters)
./mycroft/skills/wolfram_alpha/__init__.py:128:80: E501 line too long (99 > 79 characters)
./mycroft/skills/date_time/__init__.py:26:80: E501 line too long (98 > 79 characters)
./mycroft/skills/date_time/__init__.py:46:80: E501 line too long (88 > 79 characters)
./mycroft/skills/audio_record/__init__.py:34:80: E501 line too long (99 > 79 characters)
./mycroft/skills/audio_record/__init__.py:37:80: E501 line too long (98 > 79 characters)
./mycroft/skills/audio_record/__init__.py:41:80: E501 line too long (98 > 79 characters)
./mycroft/skills/audio_record/__init__.py:45:80: E501 line too long (102 > 79 characters)
./mycroft/skills/audio_record/__init__.py:46:80: E501 line too long (91 > 79 characters)
./mycroft/skills/audio_record/__init__.py:58:80: E501 line too long (97 > 79 characters)
./mycroft/skills/audio_record/__init__.py:79:80: E501 line too long (89 > 79 characters)
./mycroft/metrics/__init__.py:15:1: E302 expected 2 blank lines, found 1
./mycroft/metrics/__init__.py:80:80: E501 line too long (90 > 79 characters)
./mycroft/metrics/__init__.py:83:13: E301 expected 1 blank line, found 0
./mycroft/metrics/__init__.py:100:80: E501 line too long (120 > 79 characters)
./mycroft/dialog/__init__.py:41:80: E501 line too long (87 > 79 characters)
./mycroft/dialog/__init__.py:47:80: E501 line too long (81 > 79 characters)
./mycroft/dialog/__init__.py:49:80: E501 line too long (92 > 79 characters)
./mycroft/dialog/__init__.py:56:18: E711 comparison to None should be 'if cond is None:'
./mycroft/dialog/__init__.py:82:80: E501 line too long (111 > 79 characters)
./mycroft/dialog/__init__.py:84:80: E501 line too long (94 > 79 characters)
./mycroft/dialog/__init__.py:88:1: W391 blank line at end of file
./mycroft/filesystem/__init__.py:9:80: E501 line too long (93 > 79 characters)
./mycroft/filesystem/__init__.py:27:80: E501 line too long (92 > 79 characters)
./mycroft/filesystem/__init__.py:29:80: E501 line too long (110 > 79 characters)
./mycroft/util/setup_base.py:11:1: E302 expected 2 blank lines, found 1
./mycroft/util/setup_base.py:14:1: E302 expected 2 blank lines, found 1
./mycroft/util/setup_base.py:21:80: E501 line too long (103 > 79 characters)
./mycroft/util/setup_base.py:36:80: E501 line too long (88 > 79 characters)
./mycroft/util/setup_base.py:36:89: W292 no newline at end of file
./mycroft/util/log.py:3:1: E402 module level import not at top of file
./mycroft/util/audio_test.py:9:80: E501 line too long (109 > 79 characters)
./mycroft/util/audio_test.py:25:80: E501 line too long (143 > 79 characters)
./mycroft/util/audio_test.py:26:80: E501 line too long (137 > 79 characters)
./mycroft/util/__init__.py:24:80: E501 line too long (114 > 79 characters)
./mycroft/util/__init__.py:26:80: E501 line too long (93 > 79 characters)
./mycroft/util/__init__.py:69:1: E302 expected 2 blank lines, found 1
./mycroft/util/__init__.py:70:9: W292 no newline at end of file
./mycroft/configuration/config.py:13:80: E501 line too long (83 > 79 characters)
./mycroft/configuration/config.py:15:80: E501 line too long (80 > 79 characters)
./mycroft/configuration/config.py:38:80: E501 line too long (90 > 79 characters)
./mycroft/configuration/config.py:48:80: E501 line too long (80 > 79 characters)
./mycroft/configuration/config.py:51:80: E501 line too long (80 > 79 characters)
./mycroft/configuration/config.py:73:80: E501 line too long (86 > 79 characters)
./mycroft/configuration/config.py:75:80: E501 line too long (89 > 79 characters)
./mycroft/configuration/config.py:77:80: E501 line too long (98 > 79 characters)
./mycroft/configuration/config.py:81:80: E501 line too long (85 > 79 characters)
./mycroft/configuration/config.py:83:80: E501 line too long (96 > 79 characters)
./mycroft/configuration/config.py:84:80: E501 line too long (136 > 79 characters)
./mycroft/configuration/config.py:86:80: E501 line too long (82 > 79 characters)
./mycroft/configuration/config.py:89:80: E501 line too long (84 > 79 characters)
./mycroft/configuration/config.py:104:80: E501 line too long (91 > 79 characters)
When I update my profile and cerberus and hit save, nothing seems to happen. The profile seems to be updated properly because when I refresh the page it has the new values, but no message is shown.
Steps to reproduce:
Go to https://cerberus.mycroft.ai/profile
Edit the location field
Click the Save button
"What does Wikipedia say about..." should be added to the prefixes that trigger a Wikipedia search.
The WA skill does not act as the fallback, as it should.
The following native packages are also needed (Xubuntu 14.04):
During Pairing Prompt, Mycroft should read URL with "dot" where periods are present. Currently he just does a break between the different parts of the URL and also does not read "ai" as "A, I" as he should.
On the cerberus website there is a main menu with Home, Profile, Register and Devices items. The selected item seems to be marked with a blue underline, but this underline is always under the Home item even if other is selected.
The attached screenshot shows the Devices page open, but the page shows no indication that it is the active menu item.
To reproduce:
Go to https://cerberus.mycroft.ai/device
Due to a sequence of mycroft talks just after displaying the pairing code, the text been displayed on the unit will be erased and the talk animation will take place instead.
โซ pyflakes .
./mycroft/client/text/cli.py:44: local variable 'e' is assigned to but never used
./mycroft/client/speech/listener.py:350: local variable 'e' is assigned to but never used
./mycroft/client/speech/main.py:90: local variable 'e' is assigned to but never used
./mycroft/client/speech/wakeword_recognizer.py:5: 'sys' imported but unused
./mycroft/client/speech/wakeword_recognizer.py:7: 'from pocketsphinx import *' used; unable to detect undefined names
./mycroft/client/speech/wakeword_recognizer.py:46: Decoder may be undefined, or defined from star imports: pocketsphinx
./mycroft/client/speech/wakeword_recognizer.py:56: Decoder may be undefined, or defined from star imports: pocketsphinx
./mycroft/util/setup_base.py:19: local variable 'e' is assigned to but never used
./mycroft/util/setup_base.py:22: local variable 'e2' is assigned to but never used
./mycroft/messagebus/service/ws.py:36: local variable 'e' is assigned to but never used
./mycroft/messagebus/service/main.py:2: 'tornado' imported but unused
./mycroft/skills/intent/init.py:27: local variable 'e' is assigned to but never used
./mycroft/skills/wolfram_alpha/init.py:106: local variable 'e' is assigned to but never used
./mycroft/skills/weather/owm_repackaged/init.py:14: 'timeutils' imported but unused
./mycroft/skills/weather/owm_repackaged/owmhttpclient.py:69: 'urlopen' imported but unused
./mycroft/pairing/client.py:1: 'json' imported but unused
./mycroft/pairing/client.py:4: 'sys' imported but unused
./test/skills/skill_tester.py:2: 'unittest' imported but unused
After going through the register process the mycroft client doesn't seem to realize that it has been registered and continues to say that the device is not registered and gives a registration code.
Restarting all of mycroft's processes after registration, and then restarting has no effect. The website itself appears to have worked, the device id on the web page matches the id in the identity.json file on my machine.
commit: 9aa9f47
Error message after running build_host_setup.sh
:
sudo: easy_install: command not found
We probably need to add two new dependencies:
python-setuptools
and python-pip
Mycroft configuration file: mycroft.ini not generated
/etc/mycroft/mycroft.ini
$HOME/.mycroft/mycroft.ini
Documentation on supporting as many distros as possible, as well as how to use Docker to run Mycroft.
When I have no devices registered and go to the devices page in the cerberus website, it shows the headers of the table with no contents.
That is weird. I think that it would be nicer if it just displayed the button to register a new device, or maybe a message saying that you have no registered devices, instead of the table.
When using an external microphone on units, I have used the ~/.mycroft/mycroft.ini configuration file to select another microphone. Here is an example:
[speech_client]
device_index=1
This seems to work fine, until after a reboot (or two,) and then Mycroft uses the default device (device_index=0) regardless of the configuration files contents or existence. This has happened to me twice now, but I don't have the exact steps to reproduce. I suspect that this might be causing other users to have trouble, especially those that have to take steps to specify certain channels and sample rates on their mics.
I think we may have some configuration file loading / parsing issues that are related to pulling down the remote configuration.
Any ideas?
This feature request provides the ability to stop all skills using the voice command Mycroft Stop other than the current and only option of pressing the unit's button.
This is something we need to figure out, as it renders Wolfram nearly completely useless in many cases.
Mycroft should be able to respond to various quotes and phrases in novel ways, e.g.
User: Mycroft, open the pod bay doors
Mycroft: I'm sorry, Dave. I'm afraid I can't do that.
User: Mycroft, what do you think of Siri?
Mycroft: I think she needs to be more open-minded.
When I hit the submit button without entering a code, I get back an error message saying: Failed to pair with device. I think it would be better if the button was disabled until I entered a code.
To reproduce:
Go to https://cerberus.mycroft.ai/register
Click the submit button
This should feed a set of recordings into the listen
method and verify that in each one the wakeword is correctly detected.
To best simulate real-world situations it might be necessary to have a period of white noise or minimal background noise before the voice comes into the recording.
Upon further testing of Listener Improvements, PR #45 - it appears that the overall listener has improved, but upon being asked, "What time is it Mycroft" or "What's the weather, Mycroft" - the sentence before is ignored and Mycroft prompts the user to "Go Ahead."
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.