Skip to content

Commit d899113

Browse files
lbtJarbasAl
andauthored
Deregister any entities when a skill is detached. Fixes #394 (#395)
* Deregister any entities when a skill is detached. Fixes #394 Signed-off-by: David Greaves <david@dgreaves.com> * Update requirements.txt * Update requirements.txt --------- Signed-off-by: David Greaves <david@dgreaves.com> Co-authored-by: JarbasAI <33701864+JarbasAl@users.noreply.github.com>
1 parent 228835b commit d899113

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

ovos_core/intent_services/padacioso_service.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,16 @@ def handle_detach_intent(self, message):
140140
"""
141141
self.__detach_intent(message.data.get('intent_name'))
142142

143+
def __detach_entity(self, name, lang):
144+
""" Remove an entity.
145+
146+
Args:
147+
entity name
148+
entity lang
149+
"""
150+
if lang in self.containers:
151+
self.containers[lang].remove_entity(name)
152+
143153
def handle_detach_skill(self, message):
144154
"""Messagebus handler for detaching all intents for skill.
145155
@@ -150,6 +160,10 @@ def handle_detach_skill(self, message):
150160
remove_list = [i for i in self.registered_intents if skill_id in i]
151161
for i in remove_list:
152162
self.__detach_intent(i)
163+
skill_id_colon = skill_id + ":"
164+
for en in self.registered_entities:
165+
if en["name"].startswith(skill_id_colon):
166+
self.__detach_entity(en["name"], en["lang"])
153167

154168
def _register_object(self, message, object_name, register_func):
155169
"""Generic method for registering a padacioso object.

0 commit comments

Comments
 (0)