MycroftAI / skill-npr-news

Mycroft AI official News Skill, providing the latest news report from your favorite broadcast.
https://mycroft.ai/skills
Apache License 2.0
9 stars 42 forks source link

Skill doesn't work or recognize requests. #119

Closed Alias001 closed 3 years ago

Alias001 commented 3 years ago

Just doesn't work.

To Reproduce "Hey Microft" Bing "Play the news" Just one moment while I look for that, I'm not sure how to play the news.

"Hey Microft" Bing "Tell me the news" How long of a time? "Cancel"

"Hey MIcroft" Bing "Restart News" Would you like me to restart now "Confirmed" Computer restarts

I've uninstalled the skill news, I've reinstalled it. I've gone to https://home.mycroft.ai/skills and to the "Latest News" tab to find version 2 is what's loaded on this machine and no options to change the feed. Version 1 on older machines never had an issue.

Expected behavior "Hey Microft" BIng "play the news" The current news is ....

Log files audio.log bus.log enclosure.log skills.log voice.log

Desktop Intel Core i7-4770 CPU @3.40GHz x 8 16 Gb Ram 2.3TB SSD Ubuntu 21.04 Microft Core 21.02.0

Additional context Add any other context about the problem here.

Please think carefully about whether you have modified anything in Mycroft's code or configuration files. If so, can you reproduce this on a clean installation of Mycroft? Many "bugs" turn out to be non-standard configuration errors.

Mycroft.gui is installed.

krisgesling commented 3 years ago

Hey there, thanks for filing a bug report. It sounds like your News Skill is not loaded at all.

If you have the CLI open you can type :skills to see a list of loaded Skills. Any in red have failed or are deactivated for some reason. Can you see if the Skill shows up there?

There should be more information available in your Skills logs which are located at /var/log/mycroft/skills.log it would be very handy to see why it's not loading, or if it is loading any error messages that it's throwing.

To verify which version of the Skill you're running can you run the following:

cd /opt/mycroft/skills/mycroft-npr-news.mycroftai/
git status
Alias001 commented 3 years ago

From CLI :skills camera.mycroftai count.andlo dismissal-skill.chancencounter email-skill.linuss1 fallback-aiml.forslund fallback-query.mycroftai fallback-recommendations-skill.linuss1 fallback-unknown.mycroftai fallback-wolfram-alpha.mycroftai homeassistant.mycroftai homescreen.mycroftai iss-tracker.andlo learning.gras64 list-manager.lb803 mycroft-alarm.mycroftai mycroft-audio-record.mycroftai mycroft-configuration.mycroftai mycroft-date-time.mycroftai mycroft-fallback-duck-duck-go.mycroftai mycroft-hello-world.mycroftai mycroft-installer.mycroftai mycroft-ip.mycroftai mycroft-joke.mycroftai mycroft-mark-2.mycroftai mycroft-naptime.mycroftai mycroft-npr-news.mycroftai mycroft-pairing.mycroftai mycroft-personal.mycroftai mycroft-playback-control.mycroftai mycroft-release-test.mycroftai mycroft-reminder.mycroftai mycroft-singing.mycroftai mycroft-speak.mycroftai mycroft-spelling.mycroftai mycroft-stop.mycroftai mycroft-support-helper.mycroftai mycroft-timer.mycroftai mycroft-version-checker.mycroftai mycroft-volume.mycroftai mycroft-weather.mycroftai mycroft-wiki.mycroftai remember.luke5sky skill-aircrack.jonstratton skill-desktop-launcher.mycroftai speedtest.luke5sky wiktionary.tree-ind

mycroft-npr-news.mycroftai is the only one listed in red.

Here is what I get with running the git status

/opt/mycroft/skills/mycroft-npr-news.mycroftai$ git status On branch 21.02 Your branch is up to date with 'origin/21.02'.

nothing to commit, working tree clean

and

Here is what I found in the skills log

2021-08-20 10:38:00.491 | INFO | 21168 | mycroft.skills.skill_loader:load:185 | ATTEMPTING TO LOAD SKILL: mycroft-npr-news.mycroftai (AttributeError("module 'base64' has no attribute 'decodestring'")) Traceback (most recent call last): File "/home/alias001/mycroft-core/mycroft/skills/skill_loader.py", line 276, in _load_skill_source skill_module = load_skill_module(main_file_path, self.skill_id) File "/home/alias001/mycroft-core/mycroft/skills/skill_loader.py", line 72, in load_skill_module spec.loader.exec_module(mod) File "", line 855, in exec_module File "", line 228, in _call_with_frames_removed File "/opt/mycroft/skills/mycroft-npr-news.mycroftai/init.py", line 16, in import feedparser File "/home/alias001/mycroft-core/.venv/lib/python3.9/site-packages/feedparser.py", line 93, in _base64decode = getattr(base64, 'decodebytes', base64.decodestring) AttributeError: module 'base64' has no attribute 'decodestring' 2021-08-20 10:38:00.498 | ERROR | 21168 | mycroft.skills.skill_loader:_communicate_load_status:351 | Skill mycroft-npr-news.mycroftai failed to load

I'm not sure where to start but it looks like the a decode string is a contributing issue. Any recommendations would greatly be appreciated, and thank you for looking into this.

krisgesling commented 3 years ago

Hey it looks like the dependency feedparser hasn't updated because base64.decodestring got deprecated in Python3.9.

If you run:

mycroft-pip list | grep feedparser

or

~/mycroft-core/bin/mycroft-pip list | grep feedparser

It should give you the version number of feedparser that's installed and will probably say 5.2.1.

This is coming in the next update of the Skill but you can manually upgrade this by running:

mycroft-pip install feedparser --upgrade
Alias001 commented 3 years ago

You nailed it! Thanks @krisgesling! Feedparser was 5.2.1, I ran the upgrade and also had a message to upgrade PIP did that as well and restarted the system. Booted up mycroft and now the skill is working as intended. Thank you so much!