diff --git a/market/backend/v1/market-api/market_api/endpoints/skill_install.py b/market/backend/v1/market-api/market_api/endpoints/skill_install.py index 8295d7a4..6a4bdc4e 100644 --- a/market/backend/v1/market-api/market_api/endpoints/skill_install.py +++ b/market/backend/v1/market-api/market_api/endpoints/skill_install.py @@ -66,11 +66,22 @@ class SkillInstallEndpoint(SeleneEndpoint): def _find_installer_skill(self, installed_skills): installer_skill = None - for skill in installed_skills['skills']: - if skill['skill']['name'] == 'Installer': - self.device_uuid = skill['deviceUuid'] - installer_skill = skill['skill'] - break + if "skills" in installed_skills: + for skill in installed_skills['skills']: + if skill['skill']['name'] == 'Installer': + self.device_uuid = skill['deviceUuid'] + installer_skill = skill['skill'] + break + if installer_skill is None: + error_message = ( + 'found no skill installer' + ) + _log.error(error_message) + self.response = (error_message, HTTPStatus.PARTIAL_CONTENT) + raise APIError() + else: + self.response = HTTPStatus.NO_CONTENT + raise APIError() return installer_skill