| 67 | | # Load the requested pool manager. |
| 68 | | manager = turbomail.config.get("mail.manager", "immediate") |
| 69 | | controller = self.load_single_entry("turbomail.managers", manager) |
| 70 | | if not controller: |
| 71 | | turbomail.config.update({"mail.on": False}) |
| 72 | | log.error("Unable to locate %s manager, TurboMail disabled." % manager) |
| 73 | | self.stop(force=True) |
| 74 | | return |
| 75 | | turbomail.manager = controller.load() |
| 76 | | turbomail.manager.start() |
| | 75 | def load(t, default): |
| | 76 | extension = turbomail.config.get("mail.%s" % t, default) |
| | 77 | controller = self.load_single_entry("turbomail.%ss" % t, extension) |
| | 78 | if not controller: |
| | 79 | turbomail.config.update({"mail.on": False}) |
| | 80 | log.error("Unable to locate %s %s, TurboMail disabled." % (extension, t)) |
| | 81 | self.stop(force=True) |
| | 82 | return |
| | 83 | setattr(turbomail, t, controller.load()) |
| | 84 | controller.start() |
| 78 | | # Load the requested mail provider. |
| 79 | | provider = turbomail.config.get("mail.provider", "debug") |
| 80 | | controller = self.load_single_entry("turbomail.providers", provider) |
| 81 | | if not controller: |
| 82 | | turbomail.config.update({"mail.on": False}) |
| 83 | | log.error("Unable to locate %s provider, TurboMail disabled." % provider) |
| 84 | | self.stop(force=True) |
| 85 | | return |
| 86 | | turbomail.provider = controller.load() |
| 87 | | turbomail.provider.start() |
| | 86 | # Load the requested manager and provider. |
| | 87 | load('manager', 'immediate') |
| | 88 | load('provider', 'debug') |
| 93 | | if turbomail.config.get("mail." + entrypoint.name + ".on", False): |
| 94 | | log.debug("Loading extension '%s'." % entrypoint.name) |
| 95 | | ext = entrypoint.load() |
| 96 | | if hasattr(ext, "start"): ext.start() |
| | 94 | if turbomail.config.get("mail.%s.on" % entrypoint.name, False): |
| | 95 | log.info("Loading extension '%s'." % entrypoint.name) |
| | 96 | self.extensions[entrypoint.name] = entrypoint.load() |
| | 97 | |
| | 98 | if hasattr(self.extensions[entrypoint.name], 'load'): |
| | 99 | self.extensions[entrypoint.name] = self.extensions[entrypoint.name].load() |
| | 100 | |
| | 101 | if hasattr(self.extensions[entrypoint.name], 'start'): |
| | 102 | self.extensions[entrypoint.name].start() |