Changeset 52 for branches/3.0/turbomail/control.py
- Timestamp:
- 10/26/07 05:48:32 (1 year ago)
- Files:
-
- 1 modified
-
branches/3.0/turbomail/control.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/3.0/turbomail/control.py
r40 r52 67 67 # Load the requested pool manager. 68 68 manager = turbomail.config.get("mail.manager", "immediate") 69 turbomail.manager = self.load_single_entry("turbomail.managers", manager).load()70 if not turbomail.manager:71 turbomail.config. set("mail.on", False)69 controller = self.load_single_entry("turbomail.managers", manager) 70 if not controller: 71 turbomail.config.update({"mail.on": False}) 72 72 log.error("Unable to locate %s manager, TurboMail disabled." % manager) 73 self.stop(force=True) 73 74 return 75 turbomail.manager = controller.load() 74 76 turbomail.manager.start() 75 77 76 78 # Load the requested mail provider. 77 79 provider = turbomail.config.get("mail.provider", "debug") 78 turbomail.provider = self.load_single_entry("turbomail.providers", provider).load()79 if not turbomail.provider:80 turbomail.config. set("mail.on", False)80 controller = self.load_single_entry("turbomail.providers", provider) 81 if not controller: 82 turbomail.config.update({"mail.on": False}) 81 83 log.error("Unable to locate %s provider, TurboMail disabled." % provider) 84 self.stop(force=True) 82 85 return 86 turbomail.provider = controller.load() 83 87 turbomail.provider.start() 84 88 … … 94 98 self.running = True 95 99 96 def stop(self ):97 if not self.running : return100 def stop(self, force=False): 101 if not self.running and not force: return 98 102 99 103 log.info("TurboMail extension shutting down.") … … 104 108 if turbomail.config.get("mail." + entrypoint.name + ".on", False): 105 109 ext = entrypoint.load() 106 if hasattr(ext, " unload"): ext.unload()110 if hasattr(ext, "stop"): ext.stop() 107 111 108 112 # Unload the provider and manager. 109 turbomail.provider.stop() 110 turbomail.manager.stop() 113 if turbomail.provider and hasattr(turbomail.provider, "stop"): turbomail.provider.stop() 114 if turbomail.manager and hasattr(turbomail.manager, "stop"): turbomail.manager.stop() 115 116 turbomail.provider = None 117 turbomail.manager = None 111 118 112 119 self.running = False
