From 56ca4dabf2d0e059d8984fa3d8ee86ec42e8b13d Mon Sep 17 00:00:00 2001 From: Phxntxm Date: Sun, 2 Jul 2017 22:18:51 -0500 Subject: [PATCH] Use the new method for adding songs --- cogs/dj.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/cogs/dj.py b/cogs/dj.py index 4adcd55..f422dbf 100644 --- a/cogs/dj.py +++ b/cogs/dj.py @@ -39,14 +39,22 @@ class DJ(Playlist): self.member = member self.playlists = [] - async def get_next_entry(self, predownload_next=True): - if not self.entries: - return None - else: - entry = self.entries[0] - self.entries.rotate(-1) - fut = entry.get_ready_future() - return fut, await fut + async def next_entry(self): + """Get the next song in the playlist; this class will wait until the next song is ready""" + entry = self.peek() + + # While we have an entry available + while entry: + # Check if we are ready or if we've errored, either way we'll pop it from the deque + if entry.ready or entry.error: + self.entries.rotate(-1) + return entry + # Otherwise, wait a second and check again + else: + await asyncio.sleep(1) + + # If we've reached here, we have no entries + return None async def resolve_playlist(self): self.playlists = self.bot.db.load('user_playlists', key=self.member.id, pluck='playlists') or []