diff --git a/pomice/pool.py b/pomice/pool.py index 08c8e44..b36e726 100644 --- a/pomice/pool.py +++ b/pomice/pool.py @@ -711,6 +711,8 @@ class Node: search_type and not URLRegex.BASE_URL.match(query) and not re.match(r"(?:[a-z]+?)search:.", query) + and not URLRegex.DISCORD_MP3_URL.match(query) + and not path.exists(path.dirname(query)) ): query = f"{search_type}:{query}" @@ -778,7 +780,7 @@ class Node: return [ Track( - track_id=track["track"], + track_id=track["encoded"], info={ "title": local_file.name, "author": "Unknown", diff --git a/pomice/queue.py b/pomice/queue.py index 3ea6e8b..7ff2679 100644 --- a/pomice/queue.py +++ b/pomice/queue.py @@ -203,9 +203,13 @@ class Queue(Iterable[Track]): raise QueueEmpty("No items in the queue.") if self._loop_mode == LoopMode.QUEUE: - # recurse if the item isnt in the queue - if self._current_item not in self._queue: - self.get() + # set current item to first track in queue if not set already + # otherwise exception will be raised + if not self._current_item or self._current_item not in self._queue: + if self._queue: + item = self._queue[0] + else: + raise QueueEmpty("No items in the queue.") # set current item to first track in queue if not set already if not self._current_item: