[gpodder-devel] Handling episodes that are no longer in index

  • From: thp at perli.net (Thomas Perl)
  • Date: Wed, 14 Mar 2007 20:42:43 +0100

Hello Michel,

On Wed, 14 Mar 2007 12:59:44 -0400 Michel Salim wrote:
> Right now gPodder does not delete the episodes that have disappeared
> from the index, but does not keep any metadata about those episodes.
> Unless the user knows where exactly on the download folder to find
> them, they're just sitting there wasting disk space.
> 
> I'm not sure how to handle this, really. The best way might be to keep
> two indices -- both start out being copies of the upstream index, but
> one is kept in sync with upstream while the other has episodes added
> to it but never deleted.
> 
> Perhaps make it a user choice whether to automatically remove
> no-longer-available episodes?

Oh my, if you haven't brought this to my attention, we'd still have
this stupid bug in svn now - my fault for not being cautious when
adding a __cmp__() function to the podcastItem class. Returning zero by
default in the comparison function introduced a bug in libwget.py,
which is responsible for calling up the podcastChannel to add a
downloaded item to the localdb (which is a metadata cache for
downloaded items) and mark the file as downloaded in history.

To make a sad story short, I've just fixed the bug in svn, so all new
episodes will have their metadata correctly written again, and gPodder
behaves now like it has before Monday (when I introduced that bug) -
downloaded but already-disappeared-from-feed episodes will be appended
to the list just as if the episode was at the end of the list. If you
delete the episode from there, it will automatically disappear.

For all the episodes that you've downloaded from Monday to today, run a
"svn up" to get the latest gPodder trunk, then run gPodder with the new
code and play back every episode downloaded since monday. Playing back
the episode will now check if the episode is in the localdb (metadata
cache) and add it if necessary. Sorry for that bug, but hey - it's the
development version, after all :)


Enjoy,
Thomas


Other related posts: