From afecc472746dc8a93cdaa8898e7212257b83a54f Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 16 Jun 2021 15:40:54 -0400 Subject: [PATCH] Raise ItemDoesNotExistError if Item is not found --- src/webqueue2api/parser/item.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/webqueue2api/parser/item.py b/src/webqueue2api/parser/item.py index 3efecaa..d4c599f 100644 --- a/src/webqueue2api/parser/item.py +++ b/src/webqueue2api/parser/item.py @@ -8,6 +8,7 @@ from typing import Union from pathlib import Path from .config import config +from .errors import ItemDoesNotExistError @@ -36,6 +37,9 @@ class Item: department: The most recent department for this item. dateReceived: The date this item was created. jsonData: A JSON serializable representation of the Item. + + Raises: + ItemDoesNotExistError: If an item does not exist on the filesystem. """ def __init__(self, queue: str, number: int) -> None: @@ -47,6 +51,9 @@ def __init__(self, queue: str, number: int) -> None: raise ValueError(f"Could not convert {number} to an integer") self.__path = Path(config.queue_directory, self.queue, str(self.number)) + if not self.__path.exists(): + raise ItemDoesNotExistError(str(self.__path)) + self.lastUpdated = self.__getLastUpdated() self.__rawItem = self.__getRawItem() self.headers = self.__parseHeaders()