Commit graph

54 commits

Author SHA1 Message Date
Thomas Perl
7c20ffd167 Determine episode duration (bug 811)
This patch adds two methods for detecting the
episode length (time units, not bytes):

 * iTunes-specific "duration" in the RSS feed
 * GStreamer-based length detection after download

The patch also adds duration information to the
tooltip in the episode list as a first step for
displaying this information in the UI.
2010-06-04 20:43:38 +02:00
Thomas Perl
31392dea96 YouTube videos have a website link
In case the link of a YouTube episode points
to itself, we allow it to be the website URL.
2010-06-02 11:03:38 +02:00
Thomas Perl
5a16cd38e4 Skip images if other content is available (bug 979)
In case where RSS feeds provide multiple enclosures
per item, we want to skip all image feeds, because
we prefer audio/video content to plain images.
2010-05-18 11:31:01 +02:00
Thomas Perl
cf44f7c30e Code cleanup: Remove unused imports 2010-05-17 18:26:13 +02:00
Thomas Perl
33a6930fb3 Fix a regression for custom feeds (e.g. Soundcloud)
Refactoring introduced a bug where new episodes were
never found on custom feeds such as Soundcloud.
2010-04-29 13:47:19 +02:00
Thomas Perl
5756e9791c Fix empty mimetype in feeds (Maemo bug 10036) 2010-04-29 13:04:45 +02:00
Thomas Perl
90b20f2984 Final database module code clean-ups 2010-04-26 23:57:50 +02:00
Thomas Perl
3d8f369356 New implementation of load_episodes() 2010-04-26 22:38:02 +02:00
Thomas Perl
82262b1aab Special implementation of load_episode() 2010-04-26 22:17:22 +02:00
Thomas Perl
1be902f2ea Quicker saving of downloaded episodes
This temporarily disables updating the M3U files
until we find a more efficient way updating them.
2010-04-26 21:41:50 +02:00
Thomas Perl
aa74b161e7 Refactor delete_episode_by_url -> delete_episode 2010-04-26 21:17:35 +02:00
Thomas Perl
47d8231153 Remove dead code (count_* in model.PodcastChannel) 2010-04-26 20:41:08 +02:00
Thomas Perl
5a33ce0353 Refactor database module and add new columns
Clean-up the database module for easier adding and
removal of columns to the podcast and episode tables.

Add time-related information (total time, position and
timestamp for the last position update) to episodes.

Remove the "deleted" column for podcasts and make sure
to remove all "deleted" podcasts and their episodes when
upgrading from an older version of gPodder.
2010-04-24 18:51:19 +02:00
Thomas Perl
8b6eac8276 Add support for streaming YouTube videos
This might not work with all media players,
but it worked for me with some basic tests.
2010-04-03 00:39:43 +02:00
Thomas Perl
1302145a99 Don't show "0.0 B" on Maemo (episode selector) 2010-03-23 14:34:17 +01:00
Thomas Perl
2b3a2aa743 Don't mark old episodes as new on update (bug 340)
Another attempt at finally fixing bug 340, but this time I'm pretty sure
that it works, because we are more selective now.

Whenever a new episode appears in the feed, its date is compared to the
date of the newest-known episode in the same feed. If it's more than one
week older than the newest-known episode, it's marked as old by default.

The "one week" value is just a randomly-chosen one to allow for border
cases (like a daily podcast re-issuing an episode of the last few days)
to work correctly and not cause "missing episodes".
2010-03-11 19:41:29 +01:00
Thomas Perl
d2ff21b1d4 Streamline feed parsing (should be faster now) 2010-02-28 14:50:01 +01:00
Thomas Perl
04680ba8ac More robust lock counting (bug 874)
Thanks to Ville-Pekka Vainio for forwarding this.
2010-02-23 15:44:17 +01:00
Thomas Perl
f5c4b388a6 Playback episodes in chronological order (bug 832)
When multiple episodes are selected, and the "playback episodes"
function is used, we now sort the episodes in ascending chronological
order before passing the list of episodes to the media player.

Thanks to Xavier for reporting this bug.
2010-02-05 21:03:34 +01:00
Thomas Perl
da7d8b3282 Remove filename discover code (bug 821)
The filename will be updated by the download
module whenever the download has finished and
the file_disposition header contains a proper
name. This is easier (and also gets rid of the
blocking operation during filename discovery)
than what we did before, which (I believe) also
led to an error that Shane Kerr was seeing in
gPodder bug 821.
2010-02-05 20:45:52 +01:00
Thomas Perl
43e3118496 Look for cover art in more places (bug 746)
I've streamlined the URL/HREF detection code
for the <image> tag and added support for the
atom:icon element.

See also:
http://atompub.org/rfc4287.html#element.icon
2010-01-07 23:16:40 +01:00
Thibauld Nion
07db946dc1 Try harder to find podcast cover art (bug 746)
Some feeds describe their "cover" image in a
<image><url>...</url></image> tag. This patch
should make it possible to properly detect and
fetch images in these cases as well.
2010-01-07 23:03:45 +01:00
Thibauld Nion
689431fede Accept images as enclosures (bug 740)
Make it so that "episodes" that are actually
made of simple images are detected as valid
downloadable episodes.
2010-01-07 22:09:44 +01:00
Thomas Perl
181564f1b7 Add 2010 to the years in copyright notice
The following command has been used:

grep -r '2005-2009 Thomas Perl and the gPodder Team' * | cut -d: -f1 |
xargs sed -i -e 's/2005-2009 Thomas Perl and the gPodder Team/2005-2010
Thomas Perl and the gPodder Team/g'
2010-01-02 17:35:42 +01:00
Thomas Perl
4c5bf203da Use folder.jpg for cover art (bug 283)
Right now, the name "folder.jpg" is used
regardless of whether or not the file is
indeed a JPEG file.
2009-12-27 14:12:39 +01:00
Thomas Perl
fed0cbc545 Make the Maemo 5 shownotes window view-only
This removes all the progress bars and action
buttons (except "Visit website") from the
dialog, as this functionality is going to be
moved in a separate dialog for easier access.
2009-12-22 01:26:44 +01:00
Thomas Perl
3223efd0c1 Fremantle text styles for podcast and episode list
Split the text formatting into a separate function
and let the Fremantle module override it in a
subclass that's used in the main UI. Probably needs
some more fine-tuning, but the basic framework is
now in place.

Thanks to Mox and Tuomas for their input.
2009-12-22 00:24:26 +01:00
Thomas Perl
930461bc65 Folder names must not end in dots (bug 600)
On Windows, a folder name like "Abc..." is
saved as "Abc", and trying to create such a
folder name works, but the trailing dots are
removed. When trying to download files to such
a folder (while gPodder still believes the
folder has dots at the end), this won't work.

To fix this bug, don't allow trailing dots in
the folder name of podcasts by stripping them.

Thanks to Yves for reporting this bug.
2009-12-12 14:28:18 +01:00
Thomas Perl
3d939ed485 New config option: "allow_empty_feeds" (bug 569)
If this option is set to True, gPodder will accept feeds
that do not have any episodes listed. This is useful for
cases where podcasts do not have episodes throughout the
year, but will have new episodes eventually.

Thanks to Steve for reporting this bug in Bugzilla.
2009-12-12 14:04:28 +01:00
Thomas Perl
d765146bd3 Refactor soundcloud module support 2009-12-04 00:14:29 +01:00
Thomas Perl
3bf38383f7 Custom handler support + Soundcloud integration
This is still a work-in-progress, but it works
fine for me so far. Still needs lots of work to
be more accessible and robust.

You can use the "sc:" prefix to add Soundcloud
users (or use http://soundcloud.com/username).
2009-12-04 00:14:29 +01:00
Thomas Perl
d98bfe5c5a Remove podcast column from episode selector
The podcast name is now displayed in the episode
column to save space (just like it was on Maemo
already).
2009-12-03 23:53:16 +01:00
Thomas Perl
8a8b38d27e Remove empty playlist files when updating M3Us 2009-10-13 18:43:54 +02:00
Thomas Perl
b5a13f1935 Add support for blogs with MP3 links
This should make some previously-broken feeds
appear as podcast, even though they are not
really. Please don't expect too much from this
feature, but it seems to make some users happy.
2009-10-13 14:19:40 +02:00
Thomas Perl
4af2e0682f Fix problems with get_real_url() (bug 573)
Don't fail hard when we cannot get the real
URL of an episode while searching for files.

Only partially fixes bug 573, as the reporter
has posted the traceback in the wrong bug.
2009-09-28 16:03:15 +02:00
Thomas Perl
b0c25dd5fe Sort episodes in M3U by ascending pubDate (bug 579)
Thanks to Dan Ramos for reporting this bug.
2009-09-28 15:34:10 +02:00
Thomas Perl
f954691797 Remove episodes that have been removed from the feed (bug 458)
Episode that have not been downloaded (or have been
deleted since) and that do not appear in the feed are
now purged from the database after a feed update to
avoid the database getting filled with orphaned episodes.

Based on a patch by Neal Cox.
2009-09-28 15:00:38 +02:00
Thomas Perl
36f42f702f Support marking episodes new/old in Fremantle 2009-09-21 23:34:12 +02:00
Thomas Perl
96a7378339 Hide new cover files by default 2009-09-15 19:33:55 +02:00
Thomas Perl
cff1cd3b8f Fix bug that results in "None" filename 2009-09-15 14:23:38 +02:00
Thomas Perl
3464c5d347 Disallow adding non-podcast feeds (bug 554)
Also fixed some YouTube-related problems that
caused the bug and now needed some refactoring.
2009-09-09 19:53:26 +02:00
Thomas Perl
d94251bc42 Bugfix for downloaded YouTube videos (Maemo bug 5058)
If the file has been downloaded, get the extension
for file type determination from the local filename.

Thanks to Victor for reporting this bug.
2009-09-08 23:36:44 +02:00
Thomas Perl
c73db9e587 New, separate episode selector for Maemo 4 2009-09-08 21:35:36 +02:00
Thomas Perl
c45da9e33a Support for "Content-disposition" header (RFC 2138)
Add support for renaming files according to the
Content-disposition header after download has
completed and correct mimetype based on the name.
2009-09-06 16:38:40 +02:00
Thomas Perl
8148074f85 Support for hiding "boring" podcasts in podcast list
This adds a new checkbox in the "View" menu that allows
the user to hide all podcasts in the podcast list for
which the episode list is empty (probably because some
filter is active).
2009-09-01 18:56:30 +02:00
Thomas Perl
c0a4c50d5a Delete entries in database when unsubscribing (bug 541)
As long as the "Keep downloaded episodes" checkbox is
not checked, we now delete episodes and the podcast from
the database when unsubscribing from a podcast.

Thanks to slestak989 for reporting this issue.
2009-09-01 15:26:00 +02:00
Thomas Perl
a860f5786e Option to disable feed update skipping (bug 542)
There is now a new configuration option called
feed_update_skipping (default: Enabled) that can
be used to disable skipping of feeds during update.

Also, skipping of feeds is only done when there
are more than one podcasts to be updated (this
allows the context-menu "update single feed" to
work as a kind of "force update" menu item).

Thanks to Sebastian Krause for the bug report.
2009-09-01 14:18:24 +02:00
Thomas Perl
90cda4b56b Rename gpodder.resolver to gpodder.youtube and clean it up
Remove the GTK+ dependency in gpodder.youtube by making the
only function that is in there fake a opml.Importer-like object,
so we can use the model from gpodder.gtkui.opml to display the
results instead of generating the model inside gpodder.youtube.
2009-08-24 17:02:35 +02:00
Thomas Perl
94513d4365 Refactor CoverDownloader to gtkui.services
This makes the gpodder.services module GTK+-free, and
also removes the global state object cover_downloader.
2009-08-24 16:47:59 +02:00
Thomas Perl
996b2bcda2 Improve HTTP authentication handling (bug 525)
Add some additional code and checks to make the use
of password-protected podcasts more stable and easier
to use. Thanks to Dan Ramos for the bug report.
2009-08-24 13:04:11 +02:00