Skip to content

Commit

Permalink
Separate building valid queue list and loading queues
Browse files Browse the repository at this point in the history
  • Loading branch information
Justin Campbell committed Oct 30, 2020
1 parent 3adbf91 commit f07895a
Showing 1 changed file with 39 additions and 79 deletions.
118 changes: 39 additions & 79 deletions api/ECNQueue.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,28 @@
of items (called Queues).
Example:
# Create a single Item (ce100)
>>> item = Item("ce", 100)
# Get the sender's email address from an Item
>>> item = Item("ce", 100)
>>> item.userEmail
# Create a single Item (ce100)
>>> item = Item("ce", 100)
# Get the sender's email address from an Item
>>> item = Item("ce", 100)
>>> item.userEmail
# Create an entire Queue (ce)
>>> queue = Queue("ce")
# Get the number of items in a Queue
>>> queue = Queue("ce")
>>> numItems = len(queue)
# Create an entire Queue (ce)
>>> queue = Queue("ce")
# Get the number of items in a Queue
>>> queue = Queue("ce")
>>> numItems = len(queue)
# Get all queues (and their items)
>>> queues = getQueues()
# Get all queues (and their items)
>>> queues = getQueues()
Attributes:
queueDirectory: The directory to load queues from.
queuesToIgnore: Queues that will not be loaded when running getQueues()
queueDirectory: The directory to load queues from.
queuesToIgnore: Queues that will not be loaded when running getQueues()
Raises:
# TODO: Add description(s) of when a ValueError is raised.
ValueError: [description]
# TODO: Add description(s) of when a ValueError is raised.
ValueError: [description]
"""

#------------------------------------------------------------------------------#
Expand Down Expand Up @@ -371,18 +371,18 @@ def __directoryParsing(self, directoryStartLine: int) -> dict:
"""Returns a dictionary with directory information
Example:
Name: Nestor Fabian Rodriguez Buitrago
Login: rodri563
Computer: ce-205-38 (128.46.205.67)
Location: HAMP G230
Email: rodri563@purdue.edu
Phone: 7654766893
Office: HAMP G230
UNIX Dir: /home/bridge/b/rodri563
Zero Dir: U=\\bridge.ecn.purdue.edu\rodri563
User ECNDB: http://eng.purdue.edu/jump/2e8399a
Host ECNDB: http://eng.purdue.edu/jump/2e83999
Subject: Autocad installation
Name: Nestor Fabian Rodriguez Buitrago
Login: rodri563
Computer: ce-205-38 (128.46.205.67)
Location: HAMP G230
Email: rodri563@purdue.edu
Phone: 7654766893
Office: HAMP G230
UNIX Dir: /home/bridge/b/rodri563
Zero Dir: U=\\bridge.ecn.purdue.edu\rodri563
User ECNDB: http://eng.purdue.edu/jump/2e8399a
Host ECNDB: http://eng.purdue.edu/jump/2e83999
Subject: Autocad installation
Args:
directoryStartLine (int): line number within the item that the directory starts on
Expand Down Expand Up @@ -1252,52 +1252,15 @@ def toJson(self) -> dict:
def __len__(self) -> int:
return len(self.items)



def getItemCount() -> dict:
"""Returns a list of dictionaries with names and item counts for valid queues.
def getValidQueues() -> list:
"""Returns a list of queues on the filesystem excluding ignored queues.
Example:
[
{
name: "me",
number_of_items: 42
},
{
name: "ce",
number_of_items: 4
}
]
["bidc", "me", "ce"]
Returns:
dict: Dictionaries with names and item counts for valid queues.
list: Valid queues
"""
itemCountList = []

for queue in getQueueList():
itemCount = 0
for item in os.listdir(queueDirectory + "/" + queue):
itemPath = queueDirectory + "/" + queue + "/" + item

isFile = True if os.path.isfile(itemPath) else False

itemPattern = re.compile("^[0123456789]{1,3}$")
isItem = True if itemPattern.match(item) else False

if isFile and isItem:
itemCount = itemCount + 1

itemCountList.append(
{"name": queue,
"number_of_items": itemCount
}
)

return itemCountList


def getQueueList() -> list:
queues = []

for file in os.listdir(queueDirectory):
Expand All @@ -1310,21 +1273,18 @@ def getQueueList() -> list:

return queues


def getQueues() -> list:
def loadQueues() -> list:
"""Return a list of Queues for each queue.
Returns:
list: list of Queues for each queue.
list: list of Queues for each queue.
"""
queues = []

for file in os.listdir(queueDirectory):
currentFile = queueDirectory + "/" + file
isDirectory = os.path.isdir(currentFile)
isValid = file not in queuesToIgnore

if isDirectory and isValid:
queues.append(Queue(file))
for queue in getValidQueues():
queues.append(Queue(queue))

return queues

if __name__ == "__main__":
print("Stop")

0 comments on commit f07895a

Please sign in to comment.