1
0
mirror of https://github.com/xgi/castero synced 2024-11-10 15:28:45 +01:00

support adding entire feeds to the queue

This commit is contained in:
Jake Robertson 2018-04-13 20:09:22 -04:00
parent c342e67b1a
commit 6056221454
No known key found for this signature in database
GPG Key ID: 15FF1380B7D5C715
2 changed files with 34 additions and 3 deletions

@ -235,6 +235,9 @@ class Display:
footer_str += " -- Press h for help"
self._footer_window.attron(curses.A_BOLD)
self._footer_window.addstr(
1, 0, " " * (self._footer_window.getmaxyx()[1] - 1)
)
self._footer_window.addstr(1, 0, footer_str)
# add window titles
@ -418,9 +421,12 @@ class Display:
This method will not clear the queue prior to adding the new player(s),
nor will it play the episodes after running.
"""
# TODO: if active_window == 0 (feed), add all episodes to queue
if self._active_window == 1:
feed_index = self._feed_menu.selected_index
feed_index = self._feed_menu.selected_index
if self._active_window == 0:
for episode in self._feeds.at(feed_index).episodes:
player = Player(str(episode), episode.enclosure)
self._queue.add(player)
elif self._active_window == 1:
episode_index = self._episode_menu.selected_index
feed = self._feeds.at(feed_index)
if feed is not None:

@ -155,3 +155,28 @@ def test_display_update(display):
display.update()
assert display._status_timer == 0
assert display._status == ""
def test_display_create_player(display):
episode = Episode(title="episode title",
description="episode description",
link="episode link",
pubdate="episode pubdate",
copyright="episode copyright",
enclosure="episode enclosure")
feed = Feed(url="feed url",
title="feed title",
description="feed description",
link="feed link",
last_build_date="feed last_build_date",
copyright="feed copyright",
episodes=[episode, episode, episode])
display._feeds["feed url"] = feed
display._active_window = 0
display._create_player_from_selected()
assert display._queue.length == 3
display._queue.clear()
assert display._queue.length == 0
display._active_window = 1
display._create_player_from_selected()
assert display._queue.length == 1