Fix commander decision making

This commit is contained in:
Michael Pivato
2019-01-24 16:17:23 +10:30
parent 6430589fe4
commit 0fd1015f8b

View File

@@ -29,7 +29,8 @@ class Commander:
# Should change this to follow strategy pattern, for different implementations of # Should change this to follow strategy pattern, for different implementations of
# making a decision on the votes. # making a decision on the votes.
print("Making a decision") print("Making a decision")
votes = self._votes votes = self._votes.values()
print(type(votes))
dif_votes = {} dif_votes = {}
for vote in votes: for vote in votes:
@@ -82,12 +83,13 @@ class Commander:
print("Received a vote!") print("Received a vote!")
# Voter is sending in their vote. # Voter is sending in their vote.
print(messageD.data["vote"]) print(messageD.data["vote"])
print("From: ", messageD.sender)
if self._taking_votes: if self._taking_votes:
# Commander must have requested their taking votes, and the timeout # Commander must have requested their taking votes, and the timeout
# has not occurred. # has not occurred.
# Only add vote to list if the client has not already voted. # Only add vote to list if the client has not already voted.
if messageD.sender not in self._votes: if messageD.sender not in self._votes:
self._votes[messageD.sender] = messageD.data["vote"] self._votes[messageD.sender] = int(messageD.data["vote"])
elif messageD.type == "disconnected": elif messageD.type == "disconnected":
print("Voter disconnected :(") print("Voter disconnected :(")