refactor(youtubedl): use collections.deque for player queue
This commit is contained in:
parent
1c7b8797bc
commit
f08b9f0766
@ -1,4 +1,5 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
|
import collections
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
|
|
||||||
import disnake
|
import disnake
|
||||||
@ -51,12 +52,11 @@ class YTDLSource(disnake.PCMVolumeTransformer):
|
|||||||
|
|
||||||
class QueuedPlayer:
|
class QueuedPlayer:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.queue = []
|
self.queue = collections.deque()
|
||||||
self.current = None
|
self.current = None
|
||||||
|
|
||||||
def queue_pop(self):
|
def queue_pop(self):
|
||||||
popped = self.queue[0]
|
popped = self.queue.popleft()
|
||||||
del self.queue[0]
|
|
||||||
self.current = popped
|
self.current = popped
|
||||||
return popped
|
return popped
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ class QueuedPlayer:
|
|||||||
self.queue.append(item)
|
self.queue.append(item)
|
||||||
|
|
||||||
def queue_add_front(self, item):
|
def queue_add_front(self, item):
|
||||||
self.queue.insert(0, item)
|
self.queue.appendleft(item)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f"<QueuedPlayer current={self.current} queue={self.queue}>"
|
return f"<QueuedPlayer current={self.current} queue={self.queue}>"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user