from .entry import Entry from .playlist import Playlist class Queue: def __init__(self) -> None: self._entries: list[Entry] = [] self.cursor = 0 def add(self, entry: Entry) -> None: self._entries.append(entry) def addPlalist(self, playlist: Playlist) -> None: for entry in playlist: self._entries.append(entry) def remove(self, index: int, recursive: bool) -> None: if not 0 < index < len(self._entries): return # if recursive and self[index].playlist is not None: # first_entry = "" # else: self._entries.pop() def move(self, frm: int, to: int) -> None: if ( not 0 < frm < len(self._entries) or not 0 < to < len(self._entries) or frm == to ): return self._entries.insert(to, self._entries.pop(frm)) def __getitem__(self, index: int) -> Entry | None: if not 0 < index < len(self._entries): return return self._entries[index] def __len__(self) -> int: return len(self._entries)