Skip to content

Commit

Permalink
fix: runtime requirements (#628)
Browse files Browse the repository at this point in the history
runtime requirements class property was not workign properly due to the class not being passed to the skill loader

all skills were considered to need internet, offline skills were not loading early as intended!
  • Loading branch information
JarbasAl authored Dec 9, 2024
1 parent 88b094d commit 1051dab
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions ovos_core/skill_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,8 @@ def load_plugin_skills(self, network=None, internet=None):
LOG.info(f"Consider uninstalling {skill_id} instead of blacklisting it")
continue
if skill_id not in self.plugin_skills and skill_id not in loaded_skill_ids:
skill_loader = self._get_plugin_skill_loader(skill_id, init_bus=False)
skill_loader = self._get_plugin_skill_loader(skill_id, init_bus=False,
skill_class=plug)
requirements = skill_loader.runtime_requirements
if not network and requirements.network_before_load:
continue
Expand All @@ -327,7 +328,7 @@ def _get_internal_skill_bus(self):
bus = self.bus
return bus

def _get_plugin_skill_loader(self, skill_id, init_bus=True):
def _get_plugin_skill_loader(self, skill_id, init_bus=True, skill_class=None):
"""Get a plugin skill loader.
Args:
Expand All @@ -340,7 +341,10 @@ def _get_plugin_skill_loader(self, skill_id, init_bus=True):
bus = None
if init_bus:
bus = self._get_internal_skill_bus()
return PluginSkillLoader(bus, skill_id)
loader = PluginSkillLoader(bus, skill_id)
if skill_class:
loader.skill_class = skill_class
return loader

def _load_plugin_skill(self, skill_id, skill_plugin):
"""Load a plugin skill.
Expand All @@ -352,7 +356,7 @@ def _load_plugin_skill(self, skill_id, skill_plugin):
Returns:
PluginSkillLoader: Loaded plugin skill loader instance if successful, None otherwise.
"""
skill_loader = self._get_plugin_skill_loader(skill_id)
skill_loader = self._get_plugin_skill_loader(skill_id, skill_class=skill_plugin)
try:
load_status = skill_loader.load(skill_plugin)
except Exception:
Expand Down

0 comments on commit 1051dab

Please sign in to comment.