NPR news skill not working

Hello, I am having trouble with the NPR news skill

On my Picroft devices, it seems to work fine, but on my Linux Manjaro device, it will not load.

I noticed that on the mycroft.ai/skills page, there is a new setting for version 2 and that is where my linux device is showing up.

This is the relevant log entry.

2021-02-19 09:40:51.751 | INFO     | 3042139 | mycroft.skills.skill_loader:load:161 | ATTEMPTING TO LOAD SKILL: mycroft-npr-news.mycroftai
2021-02-19 09:40:51.755 | ERROR    | 3042139 | mycroft.skills.skill_loader:_load_skill_source:254 | Failed to load skill: mycroft-npr-news.mycroftai (AttributeError("module 'base64' has no attribute 'decodestring'"))
Traceback (most recent call last):
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/mycroft/skills/skill_loader.py", line 252, in _load_skill_source
    skill_module = load_skill_module(main_file_path, self.skill_id)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/mycroft/skills/skill_loader.py", line 72, in load_skill_module
    spec.loader.exec_module(mod)
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/opt/mycroft/skills/mycroft-npr-news.mycroftai/__init__.py", line 16, in <module>
    import feedparser
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.9/site-packages/feedparser.py", line 93, in <module>
    _base64decode = getattr(base64, 'decodebytes', base64.decodestring)
AttributeError: module 'base64' has no attribute 'decodestring'
2021-02-19 09:40:51.759 | ERROR    | 3042139 | mycroft.skills.skill_loader:_communicate_load_status:327 | Skill mycroft-npr-news.mycroftai failed to load

Like I said, version 1 seems to work.

any ideas?

Figured it out. This skill is not compatible with python 3.9

2 Likes

The feedparser version is outdated. This helped me to resolve the issue:
mycroft-pip install feedparser --upgrade --force-reinstall