Commit graph

2671 commits

Author SHA1 Message Date
Eric Le Lay 400ee8e9d5
Merge pull request #741 from auouymous/show-dialog-when-error-updating-feed
Better feed update error feedback:
 - remove common stacktraces
 - always show feeds in error
 - error emblem on feed cover
 - error message in description
2020-04-01 09:35:59 +02:00
Eric Le Lay ad053a755a refine podcast cover status overlay 2020-03-31 16:37:29 -06:00
Eric Le Lay f6588c79ea use new icon name for podcast pause subscription 2020-03-31 16:37:26 -06:00
Eric Le Lay 0eb50ca34e add warning icon to cover on error 2020-03-31 16:37:24 -06:00
auouymous 60d4e4525f no stack trace for common feed update errors 2020-03-31 16:34:55 -06:00
auouymous b31a868583 always show channels with update errors 2020-03-31 16:34:51 -06:00
auouymous e1c49cc0a6 replace channel description with error reason when feed can't be updated 2020-03-31 16:34:09 -06:00
Eric Le Lay 9721620cec textual shownotes: skip <style> contents 2020-03-22 19:51:46 +01:00
Eric Le Lay a62fd58a79 use == for comparison with literal
See https://bugs.python.org/issue34850
2020-03-22 16:16:13 +01:00
Eric Le Lay 710014bdd0
Merge pull request #763 from auouymous/youtube-get_channel_desc
show url when get_channel_desc() fails
2020-03-13 22:04:09 +01:00
auouymous e4623c8e4e show url when get_channel_desc() fails 2020-03-12 21:18:29 -06:00
Eric Le Lay 09151094e7 fix python warning 2020-03-01 11:35:43 +01:00
auouymous 15505a3d05 fix incorrectly sorted imports 2020-02-05 00:40:37 -07:00
Eric Le Lay a7f5394e0a
Merge pull request #735 from gpodder/remove-yt-apikey
Remove youtube api key usage
2020-02-01 16:57:30 +01:00
auouymous 52dfba1d08 allow extensions to add tabs to preferences and channel settings dialogs 2020-01-30 22:25:37 -07:00
Eric Le Lay 1836884d6d prepare 3.10.13 release 2020-01-29 12:37:03 +01:00
Eric Le Lay bffa6b9304 Remove youtube api key usage
fixes #616
2020-01-25 17:31:16 +01:00
Eric Le Lay 41a9361251 prepare 3.10.12 release 2020-01-25 13:05:06 +01:00
Eric Le Lay ad88b643cb
Merge pull request #728 from auouymous/fix-deleted-episode-icon
Fix icon for deleted episodes
2020-01-11 10:10:23 +01:00
auouymous cbc4ced799 Gtk.STOCK_DELETE is deprecated and should be changed to edit-delete for deleted episodes 2020-01-10 21:53:26 -07:00
auouymous 9031ed916a fix #722 youtube error_message referenced before assignment 2020-01-10 18:48:43 -07:00
Eric Le Lay c91795413a
Merge pull request #724 from auouymous/save-episode-column-sorting-and-position
Save episode column sorting and position
2020-01-09 19:14:42 +01:00
auouymous cb2303aaa8 Save episode column sorting and position 2020-01-09 03:18:28 -07:00
auouymous 2ef45b860a Fix youtube live stream detection 2020-01-09 03:02:33 -07:00
auouymous 2fd6eb84b1 #723 get duration for youtube episodes 2020-01-07 18:57:47 +01:00
Eric Le Lay bc1e735ef1 remove useless button/model updates
they are not called from new episodes dialog or extension download
2020-01-06 08:27:36 +01:00
Eric Le Lay 12bbd23fed a custom downloader can be passed to download_episode_list
to prepare for #718 Add episode menu option to download with youtube-dl extension.

Not all code paths will forward custom downloader to the DownloadTask.
It can be added later
2020-01-05 21:57:23 +01:00
Eric Le Lay 88d7dabb4b id might be an int in preferences in preferred_fmt_ids 2020-01-05 17:56:09 +01:00
Eric Le Lay 93b64230c9 fix #714 Youtube download fail when preferred formats aren't available
thanks to @auouymous for the fix
2020-01-04 12:30:55 +01:00
auouymous 97a0c2d5d1 #719 support adaptive formats for youtube-dl extension 2020-01-04 12:28:00 +01:00
auouymous cce3ba90d8 #711 [youtube] unsupported DRM content error message 2020-01-04 12:27:02 +01:00
auouymous 42d4cbd87c #711 [youtube] support player_response.streamingData.formats
and player_response.streamingData.adaptiveFormats
2020-01-04 12:26:28 +01:00
Eric Le Lay 68b49ed2ca save flag about gPodder running in verbose mode 2020-01-01 14:45:35 +01:00
auouymous a46f131785 #704 save position and size for preferences and editcfg windows
Signed-off-by: auouymous <au@qzx.com>
2020-01-01 14:33:46 +01:00
Eric Le Lay 0fef88377e
Merge pull request #713 from ciampix/master
Updated Italian translations + removed carriage-return in translated string
2020-01-01 12:55:37 +01:00
auouymous 4f61f921da #715 use box instead of table to fix size of channel tooltips 2019-12-30 17:11:06 +01:00
Eric Le Lay fd7c861a59 fix #716 Possible channel tooltip coordinate bug 2019-12-30 17:09:41 +01:00
Marco Ciampa 876f108c6c Deleted illegal character in gettext string 2019-12-25 17:51:17 +01: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 c6860de1de Fix #681 "Change delete lock" only unlocks an episode 2019-11-02 18:39:06 +01:00
Eric Le Lay 3199f9368b prepare 3.10.11 2019-09-29 21:31:44 +02:00
Eric Le Lay ec315df200 fix #683 Search for new episodes on startup extension broken 2019-09-29 16:43:35 +02:00
Eric Le Lay ef63fc92db prepare 3.10.10 release 2019-09-26 20:17:38 +02:00
Eric Le Lay d5118d972b Fix #658 update feeds on startup extension conflicts with resume download
new on_find_partial_downloads_done() hook for update_feeds_on_startup extension.
It's the only way to prevent a race condition between adding downloads
from new episodes when set to download immediatly and adding back
partial downloads.
2019-09-23 20:10:18 +02:00
Eric Le Lay 9cd2f51465 cleanup DownloadTask reference in episode when cancelled
otherwise partial downloads cancelled on restart can't be
downloaded again until gPodder restart. Because they were
not run from a DownloadQueueWorker, which would have called
recycle() after run().
2019-09-22 18:47:42 +02:00
Eric Le Lay aeceb3cb65
Merge pull request #676 from huftis/format-counts-using-thousands-separator
Format number of episodes using (locale-aware) thousands separator
2019-09-15 10:34:58 +02:00
Karl Ove Hufthammer 4f4a6c0e46 Use locale-aware formatting for file sizes
For example, for locales that use decimal commas, the file sizes are
now formatted like ‘12,3 MiB’ instead of ‘12.3 MiB’.

Fixes #671.
2019-09-15 10:16:46 +02:00
Karl Ove Hufthammer 54ccd1bf9e Format number of episodes using (locale-aware) thousands separator
The number of episodes shown in the ‘pill boxes’ in the podcast list
are now formatted like ‘12,345’ or ‘12 345’ (depending on the locale),
instead of ‘12345’.
2019-09-15 10:07:41 +02: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 3c58c27b2c replace cgi.escape with html.escape everywhere
cgi.escape is deprecated
2019-09-08 18:14:52 +02:00
Eric Le Lay 635c2e1800 deprecated cgi.escape to html.escape + escape every self.show_message
Otherwise an empty Download Error popup happens
if episode title contains '&' when important=True and we set
the popup's text using pango markup.
2019-09-08 18:14:52 +02:00
Eric Le Lay 25ca3593bf Merge remote-tracking branch 'origin/master' into youtube-dl 2019-08-27 21:58:11 +02:00
Eric Le Lay 8cafd22161 fix edit config boolean editor: align left 2019-08-27 21:57:54 +02:00
Eric Le Lay ded38eda51 youtube description: fix log + translate No description available 2019-08-27 21:56:13 +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
Eric Le Lay 28f729f15e use stream_url or download_url when applicable 2019-08-26 20:56:16 +02:00
Eric Le Lay e82f1f97f8 fix View > Show Toolbar always disabled
broken since Feb (e4a16f1526)
2019-08-24 16:26:57 +02:00
Eric Le Lay 31e8de4355 fix #547 Download progress not updated on auto download
- adding new tasks to download queue manager is delayed in
download_episode_list() so new tasks are in INIT state.
- download_list_update() will disable UI refresh when it sees no task
in queued downloading or synchronizing state.

So after download_episode_list(), there is a race condition between
the first execution of download_list_update() and queue_task()

Fixed by calling enable_download_list_update() after adding tasks to the
download queue manager.

Also queue_tasks() now registers all tasks at once instead of one by
one.
2019-08-24 16:02:22 +02:00
Hiltronix 39e45f353f Update util.py
Change so there is no blind except.
2019-08-20 11:04:09 -05:00
Hiltronix da3e2391f7 Update youtube.py
Fix white space.
2019-08-19 23:06:52 -05:00
Hiltronix 3b56118daf Update youtube.py
Fix blank line spacing.
2019-08-19 23:03:24 -05: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
Hiltronix 08a0b8255b Fix Podcast Description None
Error occurs when saving changes to sqlite DB when desc is None, as SQL field "description" is set "NOT NULL" in table "podcasts".  Desc must be empty string not None.
2019-08-19 22:29: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 1444b71ddc add webm extension, mimetype 2019-08-17 16:26:02 +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 c847988531 backport gpodder-core's registry 2019-08-17 16:15:56 +02:00
Eric Le Lay e03a3f1909 remove unused gpodder.net feedservice example code 2019-08-11 16:33:24 +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 a7385c95b5 fix #649 Progress icon doesn't appear when downloading a failed or paused episode
thanks to @auouymous for the fix
2019-08-11 11:59:08 +02:00
Eric Le Lay 03819e4abf fix #635 Vimeo download fail 2019-06-18 09:00:26 +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 711ed276df doctest: convert dict to sorted seq for python 3.5 compat 2019-06-09 16:46:17 +02:00
Eric Le Lay 7d0381905a fix linter warning 2019-06-09 16:30:21 +02:00
Eric Le Lay 80a017e231 fix unittest on python 3.5 2019-06-09 16:23:03 +02:00
Eric Le Lay 6d1906dab9 prepare 3.10.9 release 2019-06-09 16:11:40 +02:00
Eric Le Lay d16cad438f fix linter warnings 2019-06-09 16:11:40 +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 078d6f856a fix #630 Send to local folder doesn't put the . in the name before the extension 2019-05-28 20:36:13 +02:00
Eric Le Lay 1f99e166fb fix jumping webview when hovering a link with long url
the label showing the URL at the bottom of the screen then expands the view
horizontally, causing a relayout.
2019-05-27 21:09:59 +02:00
auouymous deebcf8cec Use https to download from YouTube 2019-05-25 15:33:09 +02:00
auouymous 73229700ce Use HTTPS for https urls 2019-05-25 15:32:59 +02:00
Eric Le Lay 8391bafd31 new gpodder.util.parse_mimetype
to access params
2019-05-19 15:04:48 +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 06e35d1c5a fix #623: youtube - Download failed: 'reason'
thanks to @auouymous for the patch!
2019-05-18 18:00:04 +02:00
Eric Le Lay ed4d2dea71 fix #296 - Notification window for failed download should show podcast name
thanks to @auouymous for the patch
2019-05-18 17:59:55 +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 19bf70572c add support for feed image in ico format 2019-05-08 18:55:57 +02:00
Eric Le Lay 28e2ef0a06 use channel auth in html shownotes 2019-05-05 17:03:59 +02:00
Eric Le Lay 76feaa7117 fix has_website_link() usage as attribute 2019-05-05 16:47:23 +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 4e39b9b6cb prepare 3.10.8 release 2019-04-04 22:27:09 +02:00
Eric Le Lay 81550092e2 fix Model not imported after refactoring 2019-02-03 01:23:10 +01:00
Eric Le Lay 9e4cfe4974 relative imports 2019-02-02 18:39:49 +01:00