# Copyright 2024 (c) Anna Schumaker. """Our ListenBrainz operation priority queue.""" class Queue: """A queue for prioritizing ListenBrainz operations.""" def __init__(self): """Initialize the task Queue.""" self._set_token = None def clear(self, op: str) -> None: """Clear a pending operation.""" self._set_token = None def push(self, op: str, *args) -> None: """Push an operation onto the queue.""" self._set_token = (op, *args) def pop(self) -> tuple: """Pop an operation off the queue.""" res = self._set_token self._set_token = None return res