Commit Graph

317 Commits

Author SHA1 Message Date
auouymous e1c49cc0a6 replace channel description with error reason when feed can't be updated 2020-03-31 16:34:09 -06:00
auouymous 15505a3d05 fix incorrectly sorted imports 2020-02-05 00:40:37 -07:00
Eric Le Lay 14c488477a Fix #702 on_podcast_delete method is passed incorrect object
thanks to @auouymous for the fix
2019-11-17 15:45:00 +01:00
Eric Le Lay ba955e27f2 stop feed.get_next_page() loop when no new episode found
see https://gallica.bnf.fr/services/engine/search/opds?
operation=searchRetrieve&version=1.2&exactSearch=false
&query=dewey%20all%20%225%22%20and%20dc.format%20all%20%22epub%22
&filter=provenance%20all%20%22bnf.fr%22
2019-09-10 21:32:15 +02:00
Eric Le Lay dfb245fd85 don't override custom feed descriptions 2019-08-27 21:55:49 +02:00
Eric Le Lay 5e9d2923db Merge remote-tracking branch 'origin/master' into youtube-dl 2019-08-27 20:49:51 +02:00
Hiltronix b49327fe09 YouTube Updates
YouTube full size 900x900 image was  never being selected, images were always 100x100, due to HTMLParser interating till all matches were found.  900x900 was found first, then 100x100px image, which was the final result.  Now all results are saved in a list, the first find is the selected result.

YouTube channel description and link were not being discovered, or saved to the sqlite DB.  Desc is now retreived from the YouTube channel webpage in the same manner as the cover image link, and the link is the YouTube channel URL.
2019-08-19 22:53:34 -05:00
Eric Le Lay a7fbe0d531 use registry.feed_handler instead of gPodderFetcher.custom_handlers 2019-08-17 17:48:52 +02:00
Eric Le Lay a05bd85d76 registry.custom_downloader + registry.download_url
for extensions to be able to register custom downloaders,
not only resolving episode to a real download url.
refactor {escapist,youtube,vimeo}.get_real_download_url to use registry.
2019-08-17 16:25:00 +02:00
Eric Le Lay b4554005d9 fix linter warning 2019-08-11 12:18:28 +02:00
Eric Le Lay d004d952f5 fix #648 Checking for new episodes clears file_size for some downloaded files
in particular youtube episode info never has file size, erasing downloaded file size.
Thanks to @auouymous for the fix
2019-08-11 12:05:30 +02:00
Eric Le Lay 034e3ffa2b Merge default and custom feed handling; support paged feeds
RFC 5005 (http://podlove.org/paged-feeds/)

Fixes #231
2019-06-09 18:59:09 +02:00
Eric Le Lay 42cd004935 don't eat extension's dot in sanitize_filename_ext
it's too confusing: caused bugs in core itself (#630)
2019-06-09 16:05:16 +02:00
Eric Le Lay 0b36f1ee60 pass max_episodes to custom feed handlers 2019-05-19 15:04:17 +02:00
Eric Le Lay 80b3b69837 list instead of generator otherwise episodes not seen are not all deleted 2019-05-19 15:03:17 +02:00
Eric Le Lay 27ac7c2a78 remove code already in podcastparser 0.6.4 2019-05-19 11:38:01 +02:00
Eric Le Lay f454548a5b fix typo in comment 2019-05-19 11:38:01 +02:00
Eric Le Lay 4f063851b1 Custom feeds: change handle_url to fetch_channel 2019-05-18 17:16:06 +02:00
Eric Le Lay 10adc4a0fc add model.unregister_custom_handler
to be able to register AND unregister custom feed handlers from extensions
2019-05-08 19:11:27 +02:00
Eric Le Lay 1b018a3659 Fix #618 download extension lost on long filenames 2019-04-06 17:11:04 +02:00
Eric Le Lay 4400f5bf16 fix #591 invalid local filename when content-disposition invalid extension
1. fix download to remove query string from attachment name
   can cause regressions when filename contains query before extension
   or other strange characters because we parse as url an intended filename
2. fix episode.local_filename() to always sanitize the extension
2019-01-27 12:30:46 +01:00
Eric Le Lay 00fa10b1f6 fix #360 Resume downloads for gpo
partial [--guid] List partially downloaded episodes with or without GUIDs
resume [--guid]  Resume partially downloaded episodes or single GUID
2019-01-26 16:52:05 +01:00
Eric Le Lay 6433f5f10b return filename in episode.local_filename(return_wanted_filename=True)
when episode has a filename. It used to return the full path.
see #555
2018-11-13 21:44:12 +01:00
MarkusHackspacher 4fa86ba0b7 fix linter warning
set linelenght for check to 142
2018-09-15 20:11:18 +02:00
MarkusHackspacher f4c075c334 fix E127 continuation line over-indented for visual indent 2018-08-25 09:42:10 +02:00
Eric Le Lay 49d2d36496 fix #516 - gpodder does not recognize new episodes as new and therefore does not download them
the heuristics to not mark episodes with older dates new was
tricked by a publishedDate in the future
2018-08-17 12:42:18 +02:00
MarkusHackspacher 3ce9cd55e7 remove too many blank lines 2018-07-24 14:11:05 +02:00
MarkusHackspacher 82f41f4c21 sorting imports
with isort -y -rc
see #393
2018-07-24 11:08:10 +02:00
Eric Le Lay 7d6e476435 fix leftover python3 str incompatibility
fixes #482
2018-07-20 16:01:25 +02:00
Eric Le Lay 495ec4bb1f warning at startup if gPodder home path is too long
see #494: we get an error even if we limit folder and filename
if home path is too long.
2018-07-20 09:38:00 +02:00
MarkusHackspacher 7188ef9f2f fix E201 whitespace after '('
Part 2
2018-05-27 20:09:40 +02:00
MarkusHackspacher eecfd64f63 fix E261 at least two spaces before inline comment 2018-05-17 08:39:56 +02:00
MarkusHackspacher 0a851a1302 fix E265 block comment should start with '# ' 2018-05-16 18:17:52 +02:00
MarkusHackspacher 158210c961 fix wrong backslash 2018-05-08 11:08:38 +02:00
MarkusHackspacher 49bb08c8a3 fix E502 the backslash is redundant between brackets 2018-05-08 10:43:56 +02:00
MarkusHackspacher a1e7e1dcbe fix E226 missing whitespace around arithmetic operator 2018-03-27 21:40:36 +02:00
MarkusHackspacher a72a5bbb21 better lines start 2018-03-17 10:27:12 +01:00
MarkusHackspacher 41f07738ff fix W503 line break before binary operator 2018-03-04 20:27:00 +01:00
MarkusHackspacher a90fa0b521 fix W391 blank line at end of file 2018-02-11 21:51:40 +01:00
MarkusHackspacher 0c18a43d13 fix E302 and E303, only blank line change 2018-02-11 00:22:00 +01:00
MarkusHackspacher 955499fcd1 fix E305 expected 2 blank lines after class or function definition 2018-02-10 11:11:20 +01:00
Eric Le Lay 11569ca31d more pycodestyle checks
see #393 for discussion
2018-02-06 15:19:08 +01:00
Thomas Perl 98ec45a712 Update copyright years (2018) 2018-01-28 19:39:53 +01:00
Thomas Perl 7b46a0ee72 Update copyright years (2017) 2017-12-16 13:54:59 +01:00
Adam Voss 2f6ca4fcd9 Merge remote-tracking branch 'origin/master' into gtk3 2017-04-18 10:32:02 -05:00
Adam Voss f456365a14 Properly handle description/html_description until podcastparser is changed 2017-04-18 10:23:24 -05:00
Adam Voss 8ad7279504 Merge remote-tracking branch 'origin/master' into gtk3 2017-04-08 11:54:34 -05:00
Adam Voss 226b272438 Avoid storing coerced text as HTML 2017-04-08 11:40:48 -05:00
Eric Le Lay 1a4b38177a store episode's description_html (schema change) 2017-03-25 16:34:09 +01:00
Eric Le Lay 1d01855340 html shownotes fixes following review 2017-02-05 20:49:38 +01:00
Eric Le Lay e2bba3928b html shownotes 2017-01-29 22:38:02 +01:00
Thomas Perl 0122e8cc00 Merge branch 'master' into gtk3 2016-12-18 13:12:04 +01:00
Thomas Perl 3068234313 Fix HTTP conditional GET (Fixes #193, #182) 2016-12-18 13:04:25 +01:00
Thomas Perl dd9ca2a386 Remove util.sanitize_encoding() 2016-11-21 23:40:05 +01:00
Thomas Perl 5a7c30b359 Port to Python 3 2016-11-21 23:13:46 +01:00
Thomas Perl f6384f3013 Cache cover art thumbnails in SQLite database 2016-11-20 11:54:05 +01:00
Thomas Perl 4189cf48fb Port from feedparser to podcastparser 2016-11-18 14:47:15 +01:00
Thomas Perl 24ec3e0a9d Remove broken Flattr integration 2016-02-03 20:26:07 +01:00
Thomas Perl 36eefc8a30 Update copyright years (2016) 2016-01-15 15:22:52 +01:00
Thomas Perl cc6ea467bb model: Limit filenames to 120 characters for eCryptFS (bug 1898) 2015-07-01 23:17:39 +02:00
Thomas Perl aa72634950 Update copyright years (2015) 2015-05-24 19:33:39 +02:00
Thomas Perl edbe6505d6 Make sure cover_url is always set (bug 1978) 2014-12-17 23:16:42 +01:00
Thomas Perl e215a5d5a3 Vimeo: Support for selecting file format (bug 1954) 2014-09-30 13:35:23 +02:00
somini d3147ec827 Completed The Escapist support
This completes escapist support by fixing a typo in the model and
fixing a wrong regex.
2014-09-26 22:44:35 +01:00
somini 329c7b3eda Added (incomplete) support for The Escapist
This adds incomplete support for video podcasts from The Escapist.
The Podcast is added, with cover art and all, but the episodes still don't show up to test
if it's possible to download.
2014-09-26 22:44:35 +01:00
Thomas Perl c576997c4a model: Add rewrite_url() function. Bug 1905 2014-04-01 22:35:53 +02:00
Thomas Perl 553e35f219 Update copyright years (2014) 2014-02-27 21:55:13 +01:00
Dov Feldstern 5b4d0b0bb5 gpodder.model: return "Finished (##:##)" from get_play_info_string()
This reverts the change made in f02063beea.
2014-02-27 21:27:01 +01:00
Thomas Perl 7ad8417989 gpodder.model: Do not add files without filename 2014-01-30 08:29:38 +01:00
Dov Feldstern fa2104de1f gpodder.model: Fix problems with migrated databases
I'm finally migrating from gpodder 2 to 3, and when starting up gpodder3
after running the migration, I ran into the following uncaught exception
(which aborted gpodder):

TypeError: coercing to Unicode: need string or buffer, NoneType found
2014-01-30 08:24:28 +01:00
Thomas Perl f344edc484 Windows compatibility: strftime doesn't have %F
Replace %F with %Y-%m-%d, as Windows' strftime does not
support %F, so we should not rely on it being available.
2013-04-06 11:29:30 +02:00
Thomas Perl 6a10e3c9a0 CLI: Fix subscribe/unsubscribe when list has not been loaded yet 2013-03-27 13:19:05 +01:00
Thomas Perl f3a7fc6a4a Model: Disallow subscribing to an already-existing URL 2013-03-12 17:15:40 +01:00
Thomas Perl bda982be02 Update copyright years for 2013 2013-03-05 16:38:48 +01:00
Thomas Perl 2e7417d677 Model: Day, month and year for custom filename (bug 1768)
Users can now use the following fields to customize the
sync filename when using MP3 player device sync:

  {episode.pubdate_year} - Year of publication (without century)
  {episode.pubdate_month} - Month of publication (01-12)
  {episode.pubdate_day} - Day of publication (01-31)

In addition to these fields, {episode.sortdate} is still
provided and gives YYYY-MM-DD as result (just like before).
2013-02-12 12:41:57 +01:00
Thomas Perl d8b70eeda5 Extensions: New on_episode_playback function 2013-01-19 17:07:00 +01:00
Thomas Perl b1417d8221 Vimeo: Use video title as download filename 2012-12-29 18:51:40 +01:00
Thomas Perl ed04c46d2d Model: Whitespace and indentation fixes 2012-12-28 18:33:13 +01:00
Thomas Perl f7313d98bb Model: Various cleanups/simplifications 2012-12-28 18:31:39 +01:00
Thomas Perl 16e7fde946 Model: Don't track changes in model objects 2012-12-28 18:03:02 +01:00
Thomas Perl 9a2ac71ba4 Model: Fix cover_url setting 2012-12-28 17:55:25 +01:00
Thomas Perl 5b552131f8 Cleanup feed parsing, remove some special-cases 2012-12-28 15:34:20 +01:00
Sean Munkel 2b9ef81bca Dont warn about system files in windows (bug 1712) 2012-12-07 14:02:21 -05:00
Daniel Schaal 173d074bab Device sync: Per-podcast sync option (pull request 22)
Per-channel sync pause/disable, bump schema version for
new column.

Based on work by Rafi Rubin <rafi@seas.upenn.edu>
2012-11-03 13:49:06 +01:00
Thomas Perl 9e218bc3b5 YouTube: Cleanup the format selection patch 2012-10-23 13:41:40 +02:00
Chionsas 14ab2d0478 YouTube: Gtk UI for video quality selection (pull request 19)
1) Redid the youtube video format list (added fallbacks for each quality
setting) and added a new config key youtube.preferred_format_ids, that
accepts a list of supported quality ids.

2) Added a GUI setting switcher that lets a user pick between predefined
video quality settings and respects the 'custom' setting.  'Custom'
should currently only be used if the user prefers 3D formats or 3GP.
All other variants are in the normal settings with sane fallbacks.

Existing users will not feel any change (current fmt=18 default is
respected). Only the default fallback for get_real_download_url() was
changed (to 720p), but that will never be called unless the user clears
her youtube.preferred_fmt_id variable.
2012-10-23 13:41:31 +02:00
Thomas Perl 2cb67e4694 Remove podcast_id accessor functions (bug 1696) 2012-10-23 12:51:00 +02:00
Thomas Perl 236ee1f6a7 Download strategy: Only keep latest (bug 188)
Add per-podcast option to only keep the latest episode of a
channel (default strategy is still the current setting).
2012-10-13 16:21:25 +02:00
Thomas Perl ea597c00ac Merge pull request #16 from rafiyr/master
see http://gpodder.org/bug/1658
2012-09-05 02:08:40 -07:00
Thomas Perl 889664c8a2 Remove moving files to the "Unknown" folder (bug 1612) 2012-09-05 11:05:57 +02:00
Rafi Rubin d91b837880 sortable dates for file names on sync device
Signed-off-by: Rafi Rubin <rafi@seas.upenn.edu>
2012-08-29 21:41:46 -04:00
Thomas Perl f07c75f976 Model: Fix update issues with custom feeds 2012-07-30 22:51:27 +02:00
Bernd Schlapsi beaf1a6d69 Flattr integration (bug 1576) 2012-07-13 13:00:39 +02:00
Thomas Perl f2f187549d Feedcore: Successful updates should return value 2012-07-10 11:57:59 +02:00
Joseph Wickremasinghe 2774142f8f Added device sync using 'Downloads' tab to show progress 2012-07-09 20:25:37 +02:00
Thomas Perl c9d5e7208d Cover art: Unified download manager (bug 1288) 2012-03-05 10:44:19 +01:00
Thomas Perl d14d893bd3 Model: Minor fixes (mark as new = undelete) 2012-02-28 21:04:14 +01:00
Thomas Perl ab3046fb0c Prefix elimination: Add two new converters (bug 1553)
"<podcast title> <number>: ..." -> "<number>: ..."
"Episode <number>: ..." -> "<number>: ..."
2012-02-28 12:47:20 +01:00
Thomas Perl b0ce3ff264 Fix another pathname encoding issue (bug 1570) 2012-02-24 10:59:11 +01:00
Bernd Schlapsi f73a1750c5 add work for the new extension system (bugs #1491, #1500, #1555) 2012-02-20 21:37:20 +01:00