def configure(self, config): """Configures application instance. :param config: Configuration array. :return: None """ if config is None or self.factory is not None: return self.config = config self.factory = MailProcessorFactory(self.config)
class Sendmail: """Sendmail application.""" factory = None config = None def __init__(self, config=None): """Creates and configures application instance. :param config: Configuration array :return: Sendmail instance. """ self.configure(config) def configure(self, config): """Configures application instance. :param config: Configuration array. :return: None """ if config is None or self.factory is not None: return self.config = config self.factory = MailProcessorFactory(self.config) def execute(self, data: str): """Executes Sendmail application. :param data: E-Mail message as a plain text. """ message = message_from_string(data) for name in self.factory.list: p = self.factory.get(name) if p is None: print("Processor not found: {}".format(name)) continue print("Execute: {} ({})".format(name, p.__class__.__name__)) p.process(message)