from entry import Entry class Queue: def __init__(self) -> None: self._queue: list[Entry] = [] self.cursor = 0 def append(self, entry: Entry) -> None: self._queue.append(entry) def remove(self, index: int) -> Entry | None: if 0 < index < len(self._queue): return self._queue.pop() def move(self, frm: int, to: int) -> None: if 0 < frm < len(self._queue) and 0 < to < len(self._queue) and frm != to: self._queue.insert(to, self._queue.pop(frm)) def __getitem__(self, index: int) -> Entry | None: if index < 0 or index > len(self._queue): return None return self._queue[index]