After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 600340 - Podcast url does not add podcast, but also does not error
Podcast url does not add podcast, but also does not error
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: Podcasting
1.5.1
Other Linux
: Normal normal
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
: 608354 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-11-01 19:28 UTC by Paul Hummer
Modified: 2010-08-07 16:07 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Paul Hummer 2009-11-01 19:28:12 UTC
I tried to add the podcast at http://artofmanliness.podbean.com/feed/ and Banshee does not add the podcast, but also does not error.  The resource at the url is valid XML, and Rhythmbox reads the podcast just fine.

I'd be happy to assist with debugging.
Comment 1 Paul Hummer 2009-11-01 19:29:42 UTC
I should also add that I'm using Ubuntu 9.10, and using the "Beta 2" from the Ubuntu repositories.
Comment 2 Bertrand Lorentz 2009-11-01 19:55:37 UTC
Here's what I found : 
1/ feedvalidator.org says the feed is valid
2/ When subscribing, the feed is added in the PodcastSyndications table, but nothing else is added in the database
3/ No error message

On my first try, the feed loaded fine in Firefox, but now the URL is not responding. Maybe the server has problems ?
But anyway, Banshee should at least display an error in this case.

This might be close to bug #568733, but this feed seems to be a real podcast feed.
Comment 3 Paul Hummer 2009-11-01 21:50:28 UTC
I've added it and removed it from rhythmbox and gpodder and amarok all fine.  I don't think it's the server that has issues.
Comment 4 Paul Hummer 2009-11-06 19:12:28 UTC
If someone could mentor me a bit, I'd be happy to investigate and fix this bug myself.  It's a high priority to me, since I'm trying to replace all my command line tools with GUI tools in hopes of making the experience better, and this bug blocks me from doing so.

I haven't worked with C# much outside of the cursory "let's check this language out," but would be willing to futz with it to fix this bug.
Comment 5 Gabriel Burt 2009-11-06 20:15:05 UTC
Hey Paul, thanks for offering to help!  The src/Extensions/Banshee.Podcast extension uses src/Libraries/Migo/Migo.Syndication/ to actually fetch/parse the RSS feed.  The problem is (as I'm sure you've surmised) when there is an error fetching or parsing the feed, we don't convey that to the user.

To start at the beginning, look at

src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/PodcastActions.cs

in the OnPodcastAdd method (which is the handler for the PodcastAddAction).

From there you can trace that this results in a call like this:

FeedsManager.Instance.FeedManager.CreateFeed (uri.ToString (), syncPreference)

So, at this point, I believe that a entry is added to the sqlite db PodcastSyndications table, and the url if fetched etc.

Keep in mind that podcast URLs that are legitimate or even that previously worked may transiently (or permanently) fail - if a server is down, if there is a software error that generates an invalid feed, etc.

I have an idea for how to expose these feed errors to the user.  The Podcasts source (in the sources list with Music, Video, Last.fm etc - in the UI) is a subclass of Source (src/Core/Banshee.Services/Banshee.Sources/Source.cs) which has a SetStatus method (actually several overrides to it too) which pops up the thin yellow bar beneath the track list, say when loading an iPod or changing Last.fm stations.

When the Podcasts extension loads, it can check (and listen) for feeds with an error (src/Libraries/Migo/Migo.Syndication/Feed.cs - the LastDownloadError property) - and use the SetStatus method on the source to display a message describing the error ("Timed out" "Invalid feed" etc) with actions to Try Again, Unsubscribe, and maybe switch (next/prev) the msgbetween the various feeds that have errors (if > 1).
Comment 6 Gabriel Burt 2009-11-06 20:17:44 UTC
I guess the above is more for fixing bug #568733 and not this particular parsing bug; sorry - but feel free to do it anyway!
Comment 7 David Nielsen 2010-07-27 21:21:51 UTC
by inserting a few Console.WriteLines I discovered that the server returns 406 NotAcceptable in the specific case of podbean.com hosted feeds.
Comment 8 Bertrand Lorentz 2010-08-05 21:53:43 UTC
*** Bug 608354 has been marked as a duplicate of this bug. ***
Comment 9 Bertrand Lorentz 2010-08-05 21:56:05 UTC
From the duplicate :

Other feeds that don't work :
http://bash.podbean.com/feed/
http://theimightyhutch.podbean.com/feed/
http://girlsinthecheapseats.podbean.com/feed/

Workaround :
A temporary fix that works is to create a new RSS feed using feedweaver.net.
After you create a new RSS feed from the podbean feed, the podcast downloads
fine.
Comment 10 Bertrand Lorentz 2010-08-07 16:07:46 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.

I just committed a fix that should allow subscriptions to all podbean.com podcasts to work :
http://git.gnome.org/browse/banshee/commit/?id=a12862b457c8d6acd21508849ca0565f694a159a

The fact that the user doesn't get any feedback in case of errors is tracked in bug #568733.