From 107828a57dd7467653df7bec551ff4ca9d5e933f Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 16 Jun 2021 15:32:42 -0400 Subject: [PATCH] Convert item path from string to Path object --- src/webqueue2api/parser/item.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/webqueue2api/parser/item.py b/src/webqueue2api/parser/item.py index 1b57245..3efecaa 100644 --- a/src/webqueue2api/parser/item.py +++ b/src/webqueue2api/parser/item.py @@ -6,6 +6,7 @@ from dateutil.parser import parse from dateutil import tz from typing import Union +from pathlib import Path from .config import config @@ -39,13 +40,13 @@ class Item: def __init__(self, queue: str, number: int) -> None: self.queue = queue + try: self.number = int(number) except ValueError: - raise ValueError(" Could not convert \"" + - number + "\" to an integer") + raise ValueError(f"Could not convert {number} to an integer") - self.__path = "/".join([config.queue_directory, self.queue, str(self.number)]) + self.__path = Path(config.queue_directory, self.queue, str(self.number)) self.lastUpdated = self.__getLastUpdated() self.__rawItem = self.__getRawItem() self.headers = self.__parseHeaders() @@ -61,7 +62,7 @@ def __init__(self, queue: str, number: int) -> None: self.department = self.__getMostRecentHeaderByType("Department") self.building = self.__getMostRecentHeaderByType("Building") self.dateReceived = self.__getFormattedDate( - self.__getMostRecentHeaderByType("Date")) + self.__getMostRecentHeaderByType("Date")) # TODO: Autopopulate jsonData w/ __dir__() command. Exclude `^_` and `jsonData`. self.jsonData = { @@ -995,7 +996,7 @@ def __errorParsing(self, line: str, lineNum: int, expectedSyntax: str) -> dict: str(datetime.datetime.now())) # Item filepath - errorDictionary["file_path"] = self.__path + errorDictionary["file_path"] = str(self.__path) # Expected value errorDictionary["expected"] = expectedSyntax @@ -1060,7 +1061,7 @@ def __isLocked(self) -> Union[str, bool]: Returns: Union[str, bool]: String with info about lock if true, bool False if false """ - lockFile = self.__path + ".lck" + lockFile = str(self.__path) + ".lck" if os.path.exists(lockFile): with open(lockFile) as file: lockInfo = file.readline().split(" ")