MycroftAI / mycroft-core

Mycroft Core, the Mycroft Artificial Intelligence platform.
https://mycroft.ai
Apache License 2.0
6.51k stars 1.27k forks source link

Missing `noise_words.list` for de-de causes issues for fallback skills #3050

Closed pfefferle closed 2 years ago

pfefferle commented 2 years ago

The missing noise_words.list for de-de causes errors for fallback skills:

06:42:27.050 | ERROR    |   246 | mycroft.skills.skill_loader:_create_skill_instance:297 | Skill __init__ failed with TypeError('expected str, bytes or os.PathLike object, not NoneType')
Traceback (most recent call last):
  File "/opt/mycroft/mycroft/skills/skill_loader.py", line 294, in _create_skill_instance
    self.instance = skill_module.create_skill()
  File "/opt/mycroft/skills/fallback-wolfram-alpha.mycroftai/__init__.py", line 238, in create_skill
    return WolframAlphaSkill()
  File "/opt/mycroft/skills/fallback-wolfram-alpha.mycroftai/__init__.py", line 40, in __init__
    super().__init__()
  File "/opt/mycroft/mycroft/skills/common_query_skill.py", line 71, in __init__
    with open(noise_words_filename) as f:
TypeError: expected str, bytes or os.PathLike object, not NoneType

To Reproduce Steps to reproduce the behavior:

  1. Configure language to de-de
  2. Restart Skills
  3. See mycroft-console-client
pfefferle commented 2 years ago

I just saw that this file is missing for all languages except en-us!

forslund commented 2 years ago

I created PR #3054, it makes sure the intended warning is generated when the noise_words.list is missing instead of failing to load the skill.

If you'd like to contribute I encourage you to create a noise_words.list for german and create a PR. The file contains a list of words that shouldn't be included when determining the best answer for a user question. I created one for Swedish in #3057.

pfefferle commented 2 years ago

thanks a lot @forslund we just started a document for german noise words: https://openvoice-tech.net/index.php?title=Mycroft_in_German

And I will make a PR if it is ready.