From ab40762f781e2ad824c17a3a173bc6630d3933e8 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 17 Jun 2021 11:45:27 -0400 Subject: [PATCH] Replace self.__directory with Path object and raise QueueDoesNotExistError if queue does not exist --- src/webqueue2api/parser/queue.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/webqueue2api/parser/queue.py b/src/webqueue2api/parser/queue.py index 1d65674..76107f9 100644 --- a/src/webqueue2api/parser/queue.py +++ b/src/webqueue2api/parser/queue.py @@ -1,6 +1,8 @@ import os, re +from pathlib import Path from .item import Item from .config import config +from .errors import QueueDoesNotExistError @@ -18,11 +20,17 @@ class Queue: name: The name of the queue. items: A list of Items in the queue. jsonData: A JSON serializable representation of the Queue. + + Raises: + QueueDoesNotExistError: If a queue's directory does not exist on the filesystem. """ def __init__(self, name: str) -> None: self.name = name - self.__directory = config.queue_directory + "/" + self.name + "/" + self.__directory = Path(config.queue_directory, self.name) + if not self.__directory.exists(): + raise QueueDoesNotExistError(str(self.__directory)) + self.items = self.__getItems() self.jsonData = { @@ -39,9 +47,9 @@ def __getItems(self) -> list: items = [] for item in os.listdir(self.__directory): - itemPath = self.__directory + "/" + item + item_path = Path(self.__directory, item) - isFile = True if os.path.isfile(itemPath) else False + isFile = True if os.path.isfile(item_path) else False if isFile and isValidItemName(item): items.append(Item(self.name, item))