diff --git a/.travis.yml b/.travis.yml index d60c38cbbc..cf00f19019 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,3 +15,5 @@ install: script: - pep8 mycroft test # - ./start.sh unittest --fail-on-error +env: + - IS_TRAVIS=true \ No newline at end of file diff --git a/mycroft/skills/skill_installer/__init__.py b/mycroft/skills/skill_installer/__init__.py index bef0f6d759..712110238f 100644 --- a/mycroft/skills/skill_installer/__init__.py +++ b/mycroft/skills/skill_installer/__init__.py @@ -50,16 +50,15 @@ class SkillInstallerSkill(MycroftSkill): [BIN, "install", skill.strip().replace(" ", "-")], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - text = p.stdout.read() - status = p.wait() - if status == 0: - self.speak_dialog("installed", data={'skill': skill}) - elif status == 2: + text, err = p.communicate() + if text.splitlines()[1] == "Your search has multiple choices": stdout = text.splitlines() del stdout[0:3] self.speak_dialog("choose", data={'skills': ", ".join(stdout)}) - elif status == 3: + elif text.splitlines()[1] == "Skill not found" or skill == "": self.speak_dialog("not.found", data={'skill': skill}) + elif text.splitlines()[2] == "Skill installed!": + self.speak_dialog("installed", data={'skill': skill}) def stop(self): pass diff --git a/scripts/install-msm.sh b/scripts/install-msm.sh index 10c427af15..8f29de6d2c 100755 --- a/scripts/install-msm.sh +++ b/scripts/install-msm.sh @@ -1,6 +1,19 @@ #!/usr/bin/env bash + +SKILLS_DIR='/opt/mycroft/skills' # exit on any error set -Ee - +rm -rf msm git clone https://github.com/MycroftAI/msm.git msm chmod +x msm/msm + +if [[ ${IS_TRAVIS} != true ]]; then + echo "Create /opt/mycroft/skills if it doesn't exist" + if [ ! -d ${SKILLS_DIR} ]; then + sudo chown $USER:$USER ${SKILLS_DIR} + fi + + if [ ! -w ${SKILLS_DIR} ]; then + sudo mkdir -p ${SKILLS_DIR} + fi +fi