Skip to content

Commit

Permalink
Implement __getUserAlias in Item class
Browse files Browse the repository at this point in the history
  • Loading branch information
Justin Campbell committed Jul 26, 2020
1 parent df2a936 commit 8dd6d34
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions api/ECNQueue.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ def __init__(self, queue: str, number: int) -> None:
self.isLocked = self.__isLocked()
self.userEmail = self.__getUserEmail()
self.userName = self.__getUserName()
self.userAlias = self.__getUserAlias()

def __getLastUpdated(self) -> float:
"""Returns last modified time of item reported by the filesystem in mm-dd-yy hh:mm am/pm format.
Expand Down Expand Up @@ -191,14 +192,30 @@ def __parseFromData(self, data: str) -> str:

if data == "userName": return userName
elif data == "userEmail": return userEmail
else: raise ValueError(str(data) + "is not a valid option. data must be \"userName\" or \"userEmail\".")
else: raise ValueError("data='" + str(data) + "' is not a valid option. data must be \"userName\" or \"userEmail\".")

def __getUserName(self, data="userName") -> Union[str, None]:
return self.__parseFromData(data)

def __getUserEmail(self, data="userEmail") -> str:
return self.__parseFromData(data)

def __getUserAlias(self) -> Union[str, None]:
"""Returns user's Career Account alias if present.
If Career Account alias isn't present, returns none.
Example: Email from campb303@purdue.edu
userAlias = 'campb303'
Example: Email from spam@spammer.net
userAlias = None
Returns:
Union[str, None]: User's Career Account alias if present or None
"""
emailUser, emailDomain = self.userEmail.split("@")
return emailUser if emailDomain.endswith("purdue.edu") else None

def __repr__(self) -> str:
return self.queue + str(self.number)

Expand Down Expand Up @@ -234,4 +251,3 @@ def __getItems(self) -> list:

def __len__(self) -> int:
return len(self.items)

0 comments on commit 8dd6d34

Please sign in to comment.