Commit graph

3150 commits

Author SHA1 Message Date
auouymous 3e005d1055 Remove bind_textdomain_codeset call.
It no longer exists in python 3.11.
2023-08-13 04:47:46 -06:00
auouymous 839b0b2aa5 Fix linter issues for pycodestyle 2.11.0. 2023-08-07 19:46:44 -06:00
auouymous 375a94a139 Fix typos found by codespell. 2023-07-19 02:30:44 -06:00
luzpaz 8a995cb097 Fix various typos
Found via `codespell -q 3 -S *.po -L bloc,extracter,parms`
2023-07-14 12:13:50 +00:00
auouymous 0267b448eb
Merge pull request #1507 from auouymous/show-time-in-released-column
Show time in episode released column
2023-05-23 14:35:17 -06:00
auouymous b53ba83d22 Fix issue retrieving channel ID for Youtube pages.
The channelId meta tag was removed from the HTML. Changing to the
channel_id in RSS feed URL tag should be stable.
2023-05-23 14:13:24 -06:00
auouymous 5224565642 Always show released time in shownotes. 2023-04-29 22:11:27 -06:00
auouymous df4195dc5c Add a View menu option to right align the episode released column. 2023-04-29 21:41:38 -06:00
auouymous b0ce535ca9 Add a View menu option to show time in the episode released column. 2023-04-29 21:10:33 -06:00
auouymous 43eb6ca5f5 Log exceptions when searching for podcasts on gpodder.net. 2023-04-02 23:17:13 -06:00
auouymous ddbae467ef Raise exception when gpodder.net queries fail.
This avoids JSON warnings when gpodder.net requests fail with "500
Internal Server" errors.
2023-04-02 22:52:37 -06:00
auouymous 14efcd52df Log 'from' and 'to' sizes when syncing files. 2023-03-26 04:36:09 -06:00
auouymous 7323e0c604 Refactor _receive_configure_event().
Add comment about bug when state event is sent after configure event.
2023-03-11 20:52:05 -07:00
auouymous ab7b93d4d7 Fix commit 1725b471fa.
The window manager needs a position to unmaximize window to.
2023-03-11 16:10:27 -07:00
auouymous 1725b471fa Do not move window if maximised.
The delayed move can reposition the window after it has been maximized.
2023-03-11 03:15:29 -07:00
auouymous 3d690633ee Add empty custom_downloader field in SyncTask to prevent exception.
filename generated by yt-dlp.

Reported in
https://github.com/gpodder/gpodder/issues/1348#issuecomment-1445273299
2023-03-05 22:33:39 -07:00
auouymous 353a4cc8b6 Add EQL adjectives 'failed' and 'paused'.
Allowing all failed downloads to be filtered with `(failed)`, all paused
episodes with `(paused)`, and all downloading episodes, excluding paused
episodes with `(downloading and not paused)`.
2023-03-04 19:26:36 -07:00
auouymous 8d31d9dd40 Display feed name when logging update errors.
Avoids worthless log entries such as "Error: not found".
2023-02-21 21:23:47 -07:00
auouymous 38b8cba0e3 prepare 3.11.1 release 2023-02-17 19:18:40 -07:00
auouymous f59d688e89
Merge pull request #1465 from steviehs/fix/playlist_absolute_path
correct absolute path config settings for playlist
2023-02-16 22:22:31 -07:00
steviehs 6db358ebb8
additional config to set playlist file extension (#1463)
additional config to set playlist extension, as e.g. Sony NW-MS* players need: m3u8 instead of m3u.
2023-02-16 21:53:54 -07:00
auouymous 96e56482fe
Merge pull request #1464 from tpikonen/svg-cover
Accept coverart as SVG
2023-02-16 21:32:10 -07:00
auouymous a3cf8b96ed
Merge pull request #1297 from tpikonen/update-really-new
Treat only really new episodes as new after an update
2023-02-07 02:08:21 -07:00
Stephan Skrodzki 47f2b620c3 absolute path should also be checked in two_way_sync 2023-01-29 19:53:10 +01:00
Stephan Skrodzki b9bb64cc2d self._config.device_sync.playlists.use_absolute_path when checking if absolute path in playlists was desired
This lead to always have the absolute path (which does lead usin non existing config variables not to an error?)
2023-01-29 12:43:04 +01:00
Teemu Ikonen aed3a9fabc Accept coverart as SVG 2023-01-29 13:16:43 +02:00
auouymous 96e3b3bfe9 Allow channel to be selected from both episode menus.
Closes #1170.
2023-01-25 19:26:23 -07:00
auouymous f64440867d Don't display stacktrace for common download errors. 2023-01-25 16:44:06 -07:00
auouymous eb02ddd9d5 Add 'url', 'link' and 'filename' EQL nouns. 2023-01-25 16:30:47 -07:00
auouymous 92c741b02f Log URL when youtube.py can't get channel ID. 2023-01-22 17:21:23 -07:00
auouymous 7c2b8621a3 Document the episode description fields. 2023-01-12 15:04:26 -07:00
auouymous 9d46b2d3de Add comment about unknown external files for youtube-dl/yt-dlp downloads. 2023-01-12 04:10:08 -07:00
auouymous 87d9018918 Change 'Finishing...' to something more descriptive of the operation. 2023-01-12 01:17:56 -07:00
auouymous 9b7d53f9b2 Don't use parameter labels when calling __for_each_task_set_status().
They make the call harder to read and cause it to wrap lines.
2023-01-12 00:26:03 -07:00
auouymous bdecd607c1
Merge pull request #1452 from auouymous/fix-ui-issues
Fix UI issues
2023-01-12 00:12:22 -07:00
Teemu Ikonen b5ac4034f3 preferences: Add a checkbutton for ui.gtk.only_added_are_new config var 2023-01-06 13:55:20 +02:00
Teemu Ikonen 2552e6e0ec Treat only really new episodes as new after an update
Make PodcastChannel.update() return a list of new episodes. Add a new
config variable ui.gtk.only_added_are_new. If this variable is True,
download, queue or show (depending on the value of config var
auto_download) only these new episodes, instead of all episodes marked
as new, after an update.
2023-01-06 13:55:07 +02:00
auouymous 8b5bf2c361
Merge pull request #1444 from auouymous/add-trim-episode-title-prefix-setting
Add setting to disable trimming episode title prefix.
2023-01-04 01:38:41 -07:00
auouymous 3adfcf7b2f Speed up queueing by not updating download list a second time. 2023-01-04 01:34:02 -07:00
auouymous 9d16460571 Show progress indicator when pausing tasks.
This also significantly speeds up pausing by disabling download update
timer and download queue manager.
2023-01-04 01:27:48 -07:00
auouymous 43afafcc23 Show progress indicator when queueing paused and failed tasks.
The indicator was previously shown only while queueing new tasks, but
not when queueing failed tasks or unpausing paused tasks. It is now
displayed while scanning the episodes and then restarts when queueing
new tasks.

The download update timer and download queue manager are also disabled
earlier to significantly speed up the process.
2023-01-04 01:03:08 -07:00
auouymous bda12a53c1 Allow IdleTimeout to scale based on how long the callback took.
upload_downloads_list() is now called at upto 5 second intervals when
there are a lot of tasks. Previously, it could take 5 seconds to run and
then only sleep for 1.5 seconds, making the UI unresponsive for long
periods.
2023-01-03 15:33:31 -07:00
auouymous 6470ed5484 Add a progress dialog when cancelling tasks. 2023-01-03 15:33:03 -07:00
auouymous 6c7337f5fb Process episode list selection changes every 250ms.
A fast key repeat rate can cause on_episode_list_selection_changed to be
called quicker than it can update the UI. This slows down
shift-selections and results in continued processing long after the key
has been released.

The 250ms timer batches multiple events into a single update, and
improves responsiveness on slower machines.
2023-01-03 06:01:15 -07:00
auouymous e1fc290ef2 Remove all timer deadlocks by using idle_add priority for them.
Add util.idle_timeout_add() to register timers with the same priority as
idle_add(). Change the IdleTimeout to also use the idle_add() priority.
This eliminates the chance of a timer blocking any idle_add from
running.

Change most timeout_add's to idle_timeout_add. Change the timer in
DownloadStatusModel::get_next() back to an idle_add.
2023-01-03 06:01:15 -07:00
auouymous d2f34d0d87 Disable background operations while progress dialogs are open.
Changing task state causes UI to hang while DownloadQueueManager spawns
threads and updates progress tab. And the update_downloads_list() timer
can hang UI for several seconds at a time when thousands of tasks are
queued.

Disabling both of these while a progress dialog is open allows tasks to
be queued faster and the dialog closed sooner.
2023-01-03 06:01:15 -07:00
auouymous 36dbad9c53 Refactor ProgressIndicator.
Add on_ticks() and max_ticks to simplify code using progress indicators.
And support final ticks to set progress to 100% before a final long
operation.

Change interval from 100ms to 250ms, to allow more time to be spent on
the operation.
2023-01-03 05:58:42 -07:00
auouymous d9f05e666a Only update downloads list when no tasks were queued.
Avoids a double update when there are queued tasks.
2022-12-17 01:54:03 -07:00
auouymous 58e678b33f Use length of tasks, not episodes, for download progress indicator. 2022-12-16 18:17:09 -07:00
auouymous 9babf0eb44 Set download list state only once after batch queueing tasks.
Queueing thousands of tasks happens faster when update_download_list()
is not called for each one.
2022-12-16 16:04:33 -07:00