Commit graph

2671 commits

Author SHA1 Message Date
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
Eric Le Lay e4a16f1526 refactor main.py a bit into app.py 2019-02-02 18:35:19 +01:00
Eric Le Lay 8afbe93faf fix linter warnings 2019-02-02 17:07:20 +01:00
Eric Le Lay e84547ad18 prepare 3.10.7 release 2019-02-01 08:44:16 +01: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 1aed4a35f5 fix missing variable since a36a9ac 2019-01-26 16:46:12 +01:00
Eric Le Lay d70f032040 Fix #586 remove debug print 2019-01-26 12:52:51 +01:00
Eric Le Lay a36a9ace22 dynamic channel cover icon based on tree text size
See #590
2019-01-24 19:03:42 +01:00
Eric Le Lay 1ad321def7 deduce progress bar size from treeAvailable text size
See #590
2019-01-24 18:44:03 +01:00
Eric Le Lay 117c8f9403 prepare 3.10.6 release 2018-12-29 14:36:49 +01:00
Eric Le Lay f29e6a3acc remove stray debug message 2018-12-15 22:38:52 +01:00
Eric Le Lay 7794c3afdf
Merge pull request #573 from bth/check_overwrite_file_save
fix #563 add confirmation if file already exist
2018-12-15 17:36:17 +01:00
Eric Le Lay ad86c35b9a fix download episodes requiring authentication 2018-12-15 17:02:16 +01:00
Eric Le Lay f51ef5a88e fix #571 unable to subscribe to authenticated podcast after redirect 2018-12-15 17:02:16 +01:00
bth 7d8f8346a0 Extract filename from message for name placeholders 2018-12-15 14:56:51 +01:00
bth 635e2bb9a8 Add filename in the message 2018-12-13 09:59:02 +01:00
Eric Le Lay 3547938638 tentative fix 550 - gPodder 3.10.5 stops responding when updating and downloading
fix a leftover python2 bytes vs str comparison causing the download loop to never end
See #550
2018-12-11 09:59:33 +01:00
bth b03ed2f503 make indentation with a multiple of four 2018-12-10 17:38:32 +01:00
bth a732c8c9db fix #563 add confirmation if file already exist 2018-12-10 17:16:16 +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
Eric Le Lay 00f9cd094b fix #559 TypeError: position_func() takes 1 argument but 4 were given
due to changed api between pygtk:
https://developer.gnome.org/pygtk/stable/class-gtkmenu.html#method-gtkmenu--popup
and gtk3 gobject:
http://lazka.github.io/pgi-docs/#Gtk-3.0/callbacks.html#Gtk.MenuPositionFunc
2018-11-11 15:37:27 +01:00
Eric Le Lay 2b235ce5ed add info message with downloaded url 2018-11-10 17:17:28 +01:00
Eric Le Lay 4c9b5b0c0b fix cancel,download buttons enable/disable on tab switch 2018-11-10 16:55:04 +01:00
Eric Le Lay 5bab63a552 simplify: treeview always hasattre is_rubber_banding_active 2018-11-10 16:53:59 +01:00
Eric Le Lay 6fcc647c73 replace deprecated config with new one 2018-11-10 16:52:12 +01:00
Eric Le Lay 73413700fc remove dead method for_each_episode_set_task_status 2018-11-10 16:51:32 +01:00
Eric Le Lay d6d969ce31 fix export to local folder: 1st filename not selected 2018-10-14 21:54:38 +02:00
Eric Le Lay 2f67507a4c fix default extensions disabled when (de)activating any other extension 2018-10-14 17:34:50 +02:00
Eric Le Lay 97db9c97d2 fix #243 add sync command to gpo 2018-10-14 16:10:45 +02:00
Eric Le Lay cdbeb04eb5 fix #374 export to local folder filename customizable again
with a checkbox to export all remaining episodes to same folder.
This restores the ability to choose the filename for each episode,
while keeping export of a large number of episodes convenient (click export remaining...)
2018-10-13 18:18:25 +02:00
MarkusHackspacher 4fa86ba0b7 fix linter warning
set linelenght for check to 142
2018-09-15 20:11:18 +02:00
Eric Le Lay 56ab5a7890 3.10.5 revbump 2018-09-15 12:27:12 +02:00
Eric Le Lay ed30e8b9d1
Merge pull request #538 from MarkusHackspacher/linelenght
fix E501 line too long
2018-09-09 21:38:26 +02:00
Eric Le Lay 5b176a60c2 3.10.4 revbump 2018-09-08 18:20:28 +02:00
MarkusHackspacher 4baaa75ee4 fix E501 line too long
in lines with more than 145 characters
2018-09-07 06:52:32 +02:00
MarkusHackspacher f4c075c334 fix E127 continuation line over-indented for visual indent 2018-08-25 09:42:10 +02:00
Eric Le Lay 74d0dd4591
Merge pull request #522 from MarkusHackspacher/stylee12x-1
fix E127 continuation line over-indented for visual indent
2018-08-19 17:08:32 +02:00
MarkusHackspacher 9a45b04c23 fix E128 continuation line under-indented for visual indent 2018-08-18 12:27:24 +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
Eric Le Lay 48ac787af9 fix #412 let html shownote title spill to next line instead of hzscroll 2018-08-15 16:34:26 +02:00
Eric Le Lay 7c96338f50 fix #329 console log feed progression 2018-08-15 15:57:13 +02:00
Eric Le Lay a769429039 fix #503 Missing translatable content 2018-08-02 22:42:42 +02:00
Eric Le Lay 3d2e7822be add missing require_version 2018-08-02 22:40:33 +02:00
Eric Le Lay e9ab9ceb46 run isort on make lint 2018-07-29 14:45:34 +02:00
Eric Le Lay 3aebdb18a4 use localized label to find menu
was broken in French po because it's translated without _
2018-07-28 21:04:25 +02:00
MarkusHackspacher 735ec25fb7 not sort import gi and add isort to travis 2018-07-28 17:04:41 +02:00
Eric Le Lay fd7036c459 work around python 3.7.0 2to3 bug with win32ctypes
see https://github.com/enthought/pywin32-ctypes/issues/81
also remove byreference alias to ctypes.byref
2018-07-28 14:09:04 +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
MarkusHackspacher 0e32494b94 fix codestyle
recognized by travis CI
2018-07-23 11:17:47 +02:00
Eric Le Lay e4334eafb4 gPodderShownotesText prefer description_html to show hyperlinks
fixes #414 comment
2018-07-21 22:01:38 +02:00
Eric Le Lay f8a06d025b gPodderShownotesText shows target and change cursor when mouse pointer is over an hyperlink 2018-07-21 21:58:32 +02:00
Eric Le Lay 499a330055 fix UI freeze when going from All Episodes to a channel with shownotes open 2018-07-21 21:34:24 +02:00
Eric Le Lay 17300d3672 config.device_sync.max_filename_length value migration
999 is bad for NTFS, ext{2-4} (255 limit), as well as eCryptFS.
Setting it to 120 to be consistent with PodcastEpisode.MAX_FILENAME_LENGTH
2018-07-21 11:40:13 +02:00
Eric Le Lay fc78c66f66 fix #484 windows context menu not translated 2018-07-20 17:42:10 +02:00
Eric Le Lay febee67a36 replace py27 buffer() with py3 memoryview() 2018-07-20 16:02:09 +02:00
Eric Le Lay 7d6e476435 fix leftover python3 str incompatibility
fixes #482
2018-07-20 16:01:25 +02:00
Eric Le Lay 21acabebb5
Merge pull request #472 from MarkusHackspacher/style231
fix E231 missing whitespace after ','
2018-07-20 14:03:39 +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
Eric Le Lay 66bc2a6f72 fix #494 - ensure short filenames
- fix rename_download that was causing #494
- max_length is now mandatory in util.sanitize_filename
- add max_length param where it's missing
- factor name computation in deviceplaylist and sync
2018-07-20 09:38:00 +02:00
Eric Le Lay e7e5b2209e deviceplaylist.py: remove dead code 2018-07-20 09:38:00 +02:00
Todd Zullinger 638ce45add Avoid python-3.7 reserved keyword "async"
The "async" keyword was added in python-3.7¹.  Using it throws
SyntaxError exception.

¹ https://docs.python.org/3.7/whatsnew/3.7.html
  https://bugs.python.org/issue30406
2018-06-25 10:28:17 -04:00
Eric Le Lay 1bc5cdcca5 3.10.3 revbump 2018-06-12 21:11:39 +02:00
Markus Hackspacher 94628749ea
Merge branch 'master' into style231 2018-06-10 14:46:12 +02:00
Eric Le Lay 3101c72387 fix linter warnings 2018-06-10 12:20:04 +02:00
Eric Le Lay d19b0f3ff7 3.10.2 revbump 2018-06-10 12:18:28 +02:00
Eric Le Lay 93094ab976 adjust comment 2018-06-04 22:29:09 +02:00
MarkusHackspacher c99fca923e fix E231 missing whitespace after ',' 2018-05-29 22:54:05 +02:00
Eric Le Lay b307b41a40 apply util.Popen everywhere
It will default to close_fds=True.
On Windows, it will log an explanation message on incompatible use of close_fds+redirection.
2018-05-28 21:14:08 +02:00
Eric Le Lay a1da47dfae Merge branch 'master' of https://github.com/Vhati/gpodder into Vhati-master 2018-05-28 20:32:12 +02:00
Eric Le Lay b102d174ac
Merge pull request #470 from MarkusHackspacher/style241
fix E241 multiple spaces after ':'
2018-05-28 20:22:06 +02:00
MarkusHackspacher 9c2faec85a fix E241 multiple spaces after ':' 2018-05-27 20:29:39 +02:00
MarkusHackspacher 7188ef9f2f fix E201 whitespace after '('
Part 2
2018-05-27 20:09:40 +02:00
Eric Le Lay 229844cf5c
Merge pull request #463 from MarkusHackspacher/style20x
fix E201 whitespace after '('
2018-05-27 10:13:29 +02:00
Eric Le Lay 92ce200438
Merge pull request #462 from MarkusHackspacher/style251
fix E251 unexpected spaces around keyword / parameter equals
2018-05-27 10:13:02 +02:00
Eric Le Lay 25ba18d9dd fix linter errors 2018-05-27 10:06:31 +02:00
Eric Le Lay 92dcb1c0c3 Merge branch 'master' into gtk3-win_installer 2018-05-27 10:05:11 +02:00
Eric Le Lay c502e67397 fix parse_youtube_url(None) exception
urlsplit returns empty byte(s) instead of empty str(s)
2018-05-24 21:54:38 +02:00
MarkusHackspacher bfa93465d3 fix E201 whitespace after '(' 2018-05-21 21:40:40 +02:00
MarkusHackspacher 8eaa6a3c33 fix E251 unexpected spaces around keyword / parameter equals 2018-05-21 19:26:01 +02:00
Eric Le Lay adad95494f remove old todo 2018-05-20 15:25:14 +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
Eric Le Lay ebb74743ba fix #459 gpodder 3.10.1 on ubuntu 18.04 breaks filenames 2018-05-14 19:25:40 +02:00
Eric Le Lay 395aec5514
Merge pull request #448 from gpodder/340-connection-limit
support jumps in limit downloads
2018-05-13 17:32:32 +02:00
Eric Le Lay 5ade7d40ff
Merge pull request #457 from MarkusHackspacher/code-e702
Fix E502 the backslash is redundant between brackets
2018-05-13 17:30:10 +02:00
Eric Le Lay 36cfc6994b
Merge pull request #454 from MarkusHackspacher/style731
fix E731 do not assign a lambda expression, use a def
2018-05-13 17:28:30 +02:00
Eric Le Lay dac2d2c09c win: fix opus episodes are shown as text
e.g. in Binärgewitter opus feed
2018-05-12 19:09:03 +02:00
Eric Le Lay 5c029a3251 fix linter warning 2018-05-10 21:50:23 +02:00
Eric Le Lay 049187137c win: Gtk.Builder localization working 2018-05-10 17:59:13 +02:00
jawbkr 43be0e1966 Fix unable to drag and drop from episode list 2018-05-09 21:31:09 -05:00
MarkusHackspacher 005b9615f5 Fix E502 the backslash is redundant between brackets 2018-05-08 11:41: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
Eric Le Lay 57433d024d fix linter errors 2018-05-07 15:55:07 +02:00
MarkusHackspacher 039ffba236 fix E731 do not assign a lambda expression, use a def 2018-05-06 22:26:54 +02:00
Eric Le Lay 4c3583e52f win: fix debug output to stderr 2018-05-06 18:42:00 +02:00
Eric Le Lay b27a84991d adjust license version for code from Quodlibet 2018-05-06 18:22:52 +02:00
Eric Le Lay fbc268be74 win: get GPODDER_HOME from registry 2018-05-06 18:17:23 +02:00
MarkusHackspacher 11bf9e3ef8 fix E401 multiple imports on one line 2018-05-05 23:50:37 +02:00