Refactor play_or_download() episode action code.
commit01cd2696f7cd54bec4ff56483b4ede742ee8b32a
authorauouymous <au@qzx.com>
Sun, 20 Mar 2022 08:50:46 +0000 (20 02:50 -0600)
committerauouymous <au@qzx.com>
Sun, 20 Mar 2022 08:50:46 +0000 (20 02:50 -0600)
tree23891262046c7b3ed517c74d940d620a2273d8ba
parent5cbd3175b2b69e7070a3e7aa87bd429ef83a4889
Refactor play_or_download() episode action code.

Streaming was always possible (#867) for all audio and video episodes if
an audio player was configured. Now it is only possible if a player is
configured for the episode's type.

Methods have been added to PodcastEpisode that are either now used by
actions or replicate the conditions used by actions to filter
selections. This will help prevent mismatched conditions between
play_or_download() and episode actions. And play_or_download() is easier
to reason about and should prevent future bugs such as #1250.

Fixes #1250.
src/gpodder/gtkui/main.py
src/gpodder/model.py