From 94edf03cf895e783354f2005cd0b138e97060cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torma=20Krist=C3=B3f?= Date: Mon, 30 Mar 2020 17:10:48 +0200 Subject: [PATCH] introduce type hinting to consumerlocator --- app.py | 3 ++- consumerlocator.py | 21 +++++++-------------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/app.py b/app.py index e818b33..81c318b 100644 --- a/app.py +++ b/app.py @@ -25,11 +25,12 @@ if __name__ == "__main__": LOGGER.info("Producer started") generateduuid = str(uuid) LOGGER.debug(f"My uuid is {generateduuid}") - consumerlocator = ConsumerLocator() + consumerlocator = ConsumerLocator(communicator=Communicator()) communicator = Communicator(consumerlocator=consumerlocator,uuid=uuid) messagesender = MessageSender(communicator=communicator) while True: + LOGGER.info("Sending message to consumer") messagesender.sendmessage() time.sleep(random.random()) diff --git a/consumerlocator.py b/consumerlocator.py index 535857a..82faeda 100644 --- a/consumerlocator.py +++ b/consumerlocator.py @@ -1,7 +1,7 @@ #!/usr/bin/env python import datetime -import communicator +from communicator import Communicator import os """ @@ -20,22 +20,15 @@ class ConsumerLocator: Manages the list of consumers. """ - def __init__(self): + def __init__(self, communicator: Communicator): """ Initialize class. """ - os.environ["KnownConsumer"] = "10.69.42.2" # TODO remove self.consumerlist = [{"Host": os.environ["KnownConsumer"], "State": True, "LastOk": datetime.datetime.now()}] self.currentconsumer = self.consumerlist[0] + self.communicator = communicator - def initcommunicator(self, comm: communicator.Communicator): - """ - Initialize the reference to the communicator - :param comm: is the communicator - """ - self.communicator = comm - - def learnconsumerlist(self): + def learnconsumerlist(self) -> None: """" Learns the list of consumers. """ @@ -53,7 +46,7 @@ class ConsumerLocator: self.updateconsumerlist() - def updateconsumerlist(self): + def updateconsumerlist(self) -> None: """ Updates the consumer list based on their availability. """ @@ -93,14 +86,14 @@ class ConsumerLocator: else: return None - def getcurrentconsumer(self): + def getcurrentconsumer(self) -> str: """ Returns the currently selected consumer. :return: the current consumer """ return self.currentconsumer["Host"] - def checkcurrentconsumer(self): + def checkcurrentconsumer(self) -> bool: """ Check the consumers health. :return: True if OK, False if fail