commit
						0308386fdb
					
				| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
recursive-include mycroft/client/speech/model *
 | 
					recursive-include mycroft/client/speech/model *
 | 
				
			||||||
include requirements.txt
 | 
					include requirements.txt
 | 
				
			||||||
include mycroft/configuration/defaults/*.ini
 | 
					include mycroft/configuration/*.ini
 | 
				
			||||||
recursive-include mycroft/skills/*/dialog *
 | 
					recursive-include mycroft/skills/*/dialog *
 | 
				
			||||||
recursive-include mycroft/skills/*/vocab *
 | 
					recursive-include mycroft/skills/*/vocab *
 | 
				
			||||||
include mycroft/skills/alarm/alarm.mp3
 | 
					include mycroft/skills/alarm/alarm.mp3
 | 
				
			||||||
 | 
					include mycroft/tts/mycroft_voice_4.0.flitevox
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,6 +30,7 @@ from mycroft.messagebus.client.ws import WebsocketClient
 | 
				
			||||||
from mycroft.messagebus.message import Message
 | 
					from mycroft.messagebus.message import Message
 | 
				
			||||||
from mycroft.util import kill
 | 
					from mycroft.util import kill
 | 
				
			||||||
from mycroft.util.log import getLogger
 | 
					from mycroft.util.log import getLogger
 | 
				
			||||||
 | 
					from mycroft.skills.volume import VolumeSkill
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__author__ = 'aatchison + jdorleans'
 | 
					__author__ = 'aatchison + jdorleans'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -74,6 +75,12 @@ class EnclosureReader(Thread):
 | 
				
			||||||
            self.client.emit(Message("mycroft.stop"))
 | 
					            self.client.emit(Message("mycroft.stop"))
 | 
				
			||||||
            kill(['mimic'])  # TODO - Refactoring in favor of Mycroft Stop
 | 
					            kill(['mimic'])  # TODO - Refactoring in favor of Mycroft Stop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if "volume.up" in data:
 | 
				
			||||||
 | 
					            self.client.emit(Message("IncreaseVolumeIntent"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if "volume.down" in data:
 | 
				
			||||||
 | 
					            self.client.emit(Message("DecreaseVolumeIntent"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def stop(self):
 | 
					    def stop(self):
 | 
				
			||||||
        self.alive = False
 | 
					        self.alive = False
 | 
				
			||||||
        self.join()
 | 
					        self.join()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
0.1.2
 | 
					0.1.3
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,7 @@ session_ttl_seconds = 180
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tts]
 | 
					[tts]
 | 
				
			||||||
module = "mimic"
 | 
					module = "mimic"
 | 
				
			||||||
mimic.voice = "rms"
 | 
					mimic.voice = "mycroft/tts/mycroft_voice_4.0.flitevox"
 | 
				
			||||||
espeak.lang = "english-us"
 | 
					espeak.lang = "english-us"
 | 
				
			||||||
espeak.voice = "m1"
 | 
					espeak.voice = "m1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,11 +17,15 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from os.path import dirname, join
 | 
					from os.path import dirname, join
 | 
				
			||||||
 | 
					import re
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from netifaces import interfaces, ifaddresses, AF_INET
 | 
					from netifaces import interfaces, ifaddresses, AF_INET
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from adapt.intent import IntentBuilder
 | 
					from adapt.intent import IntentBuilder
 | 
				
			||||||
from mycroft.skills.core import MycroftSkill
 | 
					from mycroft.skills.core import MycroftSkill
 | 
				
			||||||
 | 
					from mycroft.util.log import getLogger
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					logger = getLogger(__name__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__author__ = 'ryanleesipes'
 | 
					__author__ = 'ryanleesipes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,8 +46,13 @@ class IPSkill(MycroftSkill):
 | 
				
			||||||
            addresses = [
 | 
					            addresses = [
 | 
				
			||||||
                i['addr'] for i in
 | 
					                i['addr'] for i in
 | 
				
			||||||
                ifaddresses(ifaceName).setdefault(
 | 
					                ifaddresses(ifaceName).setdefault(
 | 
				
			||||||
                    AF_INET, [{'addr': 'No IP addr'}])]
 | 
					                    AF_INET, [{'addr': None}])]
 | 
				
			||||||
            if ifaceName != "lo":
 | 
					            if None in addresses:
 | 
				
			||||||
 | 
					                addresses.remove(None)
 | 
				
			||||||
 | 
					            if addresses and ifaceName != "lo":
 | 
				
			||||||
 | 
					                addresses = [re.sub(r"\.", r" dot ", address)
 | 
				
			||||||
 | 
					                             for address in addresses]
 | 
				
			||||||
 | 
					                logger.debug(addresses[0])
 | 
				
			||||||
                self.speak('%s: %s' % (
 | 
					                self.speak('%s: %s' % (
 | 
				
			||||||
                    "interface: " + ifaceName +
 | 
					                    "interface: " + ifaceName +
 | 
				
			||||||
                    ", I.P. Address ", ', '.join(addresses)))
 | 
					                    ", I.P. Address ", ', '.join(addresses)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -171,7 +171,9 @@ class WolframAlphaSkill(MycroftSkill):
 | 
				
			||||||
            if "|" in result:  # Assuming "|" indicates a list of items
 | 
					            if "|" in result:  # Assuming "|" indicates a list of items
 | 
				
			||||||
                verb = ":"
 | 
					                verb = ":"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            result = self.__process_wolfram_string(result)
 | 
					            result = self.process_wolfram_string(result)
 | 
				
			||||||
 | 
					            input_interpretation = \
 | 
				
			||||||
 | 
					                self.process_wolfram_string(input_interpretation)
 | 
				
			||||||
            response = "%s %s %s" % (input_interpretation, verb, result)
 | 
					            response = "%s %s %s" % (input_interpretation, verb, result)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            self.speak(response)
 | 
					            self.speak(response)
 | 
				
			||||||
| 
						 | 
					@ -186,12 +188,18 @@ class WolframAlphaSkill(MycroftSkill):
 | 
				
			||||||
        return None
 | 
					        return None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
    def __process_wolfram_string(text):
 | 
					    def process_wolfram_string(text):
 | 
				
			||||||
        # Remove extra whitespace
 | 
					        # Remove extra whitespace
 | 
				
			||||||
        text = re.sub(r" \s+", r" ", text)
 | 
					        text = re.sub(r" \s+", r" ", text)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Convert | symbols to commas
 | 
					        # Convert | symbols to commas
 | 
				
			||||||
        text = re.sub(r" \| ", r", ", text)
 | 
					        text = re.sub(r" \| ", r", ", text)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Convert newlines to commas
 | 
				
			||||||
 | 
					        text = re.sub(r"\n", r", ", text)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Convert !s to factorial
 | 
				
			||||||
 | 
					        text = re.sub(r"!", r",factorial", text)
 | 
				
			||||||
        return text
 | 
					        return text
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def stop(self):
 | 
					    def stop(self):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -14,7 +14,7 @@ pyee==1.0.1
 | 
				
			||||||
SpeechRecognition==3.1.3
 | 
					SpeechRecognition==3.1.3
 | 
				
			||||||
tornado==4.2.1
 | 
					tornado==4.2.1
 | 
				
			||||||
websocket-client==0.32.0
 | 
					websocket-client==0.32.0
 | 
				
			||||||
adapt-parser==0.2.3
 | 
					adapt-parser==0.2.5
 | 
				
			||||||
pyowm==2.2.1
 | 
					pyowm==2.2.1
 | 
				
			||||||
wolframalpha==1.4
 | 
					wolframalpha==1.4
 | 
				
			||||||
futures==3.0.3
 | 
					futures==3.0.3
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								start.sh
								
								
								
								
							
							
						
						
									
										2
									
								
								start.sh
								
								
								
								
							| 
						 | 
					@ -10,7 +10,7 @@ case $1 in
 | 
				
			||||||
	"cli") SCRIPT=${TOP}/mycroft/client/text/cli.py ;;
 | 
						"cli") SCRIPT=${TOP}/mycroft/client/text/cli.py ;;
 | 
				
			||||||
	"audiotest") SCRIPT=${TOP}/mycroft/util/audio_test.py ;;
 | 
						"audiotest") SCRIPT=${TOP}/mycroft/util/audio_test.py ;;
 | 
				
			||||||
	"collector") SCRIPT=${TOP}/mycroft_data_collection/cli.py ;;
 | 
						"collector") SCRIPT=${TOP}/mycroft_data_collection/cli.py ;;
 | 
				
			||||||
	"unittest") SCRIPT=${TOP}/test/__init__.py ;;
 | 
						"unittest") SCRIPT=${TOP}/test/test_runner.py ;;
 | 
				
			||||||
	"sdkdoc") SCRIPT=${TOP}/doc/generate_sdk_docs.py ;;
 | 
						"sdkdoc") SCRIPT=${TOP}/doc/generate_sdk_docs.py ;;
 | 
				
			||||||
        "enclosure") SCRIPT=${TOP}/mycroft/client/enclosure/enclosure.py ;;
 | 
					        "enclosure") SCRIPT=${TOP}/mycroft/client/enclosure/enclosure.py ;;
 | 
				
			||||||
        "pairing") SCRIPT=${TOP}/mycroft/pairing/client.py ;;
 | 
					        "pairing") SCRIPT=${TOP}/mycroft/pairing/client.py ;;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,19 +0,0 @@
 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
import unittest
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from os.path import dirname
 | 
					 | 
				
			||||||
from xmlrunner import XMLTestRunner
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from mycroft.configuration import ConfigurationManager
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
__author__ = 'seanfitz, jdorleans'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
fail_on_error = "--fail-on-error" in sys.argv
 | 
					 | 
				
			||||||
ConfigurationManager.load_local(['mycroft.ini'])
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tests = unittest.TestLoader().discover(dirname(__file__), "*.py")
 | 
					 | 
				
			||||||
runner = XMLTestRunner("./build/report/tests")
 | 
					 | 
				
			||||||
result = runner.run(tests)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if fail_on_error and len(result.failures + result.errors) > 0:
 | 
					 | 
				
			||||||
    sys.exit(1)
 | 
					 | 
				
			||||||
| 
						 | 
					@ -48,3 +48,19 @@ class WolframAlphaTest(unittest.TestCase):
 | 
				
			||||||
    def test_invalid_pod(self):
 | 
					    def test_invalid_pod(self):
 | 
				
			||||||
        res = self.create_result("InvalidTitle", "Test")
 | 
					        res = self.create_result("InvalidTitle", "Test")
 | 
				
			||||||
        self.assertEquals(WolframAlphaSkill().get_result(res), None)
 | 
					        self.assertEquals(WolframAlphaSkill().get_result(res), None)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_whitespace_process(self):
 | 
				
			||||||
 | 
					        self.assertEquals(WolframAlphaSkill().process_wolfram_string
 | 
				
			||||||
 | 
					                          ("Test     string"), "Test string")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_pipe_process(self):
 | 
				
			||||||
 | 
					        self.assertEquals(WolframAlphaSkill().process_wolfram_string
 | 
				
			||||||
 | 
					                          ("Test | string"), "Test, string")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_newline_process(self):
 | 
				
			||||||
 | 
					        self.assertEquals(WolframAlphaSkill().process_wolfram_string
 | 
				
			||||||
 | 
					                          ("Test\nstring"), "Test, string")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_factorial_process(self):
 | 
				
			||||||
 | 
					        self.assertEquals(WolframAlphaSkill().process_wolfram_string
 | 
				
			||||||
 | 
					                          ("Test!"), "Test,factorial")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from os.path import dirname
 | 
				
			||||||
 | 
					from xmlrunner import XMLTestRunner
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from mycroft.configuration import ConfigurationManager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__author__ = 'seanfitz, jdorleans'
 | 
				
			||||||
 | 
					if __name__ == "__main__":
 | 
				
			||||||
 | 
					    fail_on_error = "--fail-on-error" in sys.argv
 | 
				
			||||||
 | 
					    ConfigurationManager.load_local(['mycroft.ini'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tests = unittest.TestLoader().discover(dirname(__file__), "*.py")
 | 
				
			||||||
 | 
					    runner = XMLTestRunner("./build/report/tests")
 | 
				
			||||||
 | 
					    result = runner.run(tests)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if fail_on_error and len(result.failures + result.errors) > 0:
 | 
				
			||||||
 | 
					        sys.exit(1)
 | 
				
			||||||
		Loading…
	
		Reference in New Issue