Exemple #1
0
    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)
Exemple #2
0
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)