- Timestamp:
- 10/04/08 11:14:31 (3 months ago)
- Files:
-
- 1 modified
-
trunk/turbomail/control.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/turbomail/control.py
r92 r102 45 45 self.manager = None 46 46 self.provider = None 47 47 48 48 def __load_single_entry(self, group, name): 49 49 for entrypoint in pkg_resources.iter_entry_points(group, name): … … 51 51 return None 52 52 53 def start(self ):53 def start(self, extra_classes=None): 54 54 if not self.config.get("mail.on", False): 55 55 return … … 57 57 log.info("TurboMail extension starting up.") 58 58 59 def load(t, default ):59 def load(t, default, extra_classes): 60 60 extension = self.config.get("mail.%s" % t, default) 61 controller = self.__load_single_entry("turbomail.%ss" % t, extension) 61 if extra_classes != None and extension in extra_classes: 62 controller = extra_classes[extension] 63 if isinstance(controller, type): 64 controller = controller() 65 else: 66 entry_point = "turbomail.%ss" % t 67 controller = self.__load_single_entry(entry_point, extension) 62 68 if not controller: 63 69 self.config.update({"mail.on": False}) … … 72 78 73 79 # Load the requested manager and provider. 74 load('manager', 'immediate' )75 load('provider', 'debug' )80 load('manager', 'immediate', extra_classes) 81 load('provider', 'debug', extra_classes) 76 82 77 83 # Load and initialize the various extensions. … … 120 126 if not self.manager: 121 127 raise MailNotEnabledError 128 129 return self.manager.deliver(message) 122 130 123 return self.manager.deliver(message)124 125 131 126 132
