125 |
|
|
126 |
|
|
127 |
def _import_name(self, modulename, name): |
def _import_name(self, modulename, name): |
128 |
"""Used as: |
"""Utility method to dynamically import modules. |
129 |
|
|
130 |
|
Works like: |
131 |
from <modulename> import <name> |
from <modulename> import <name> |
132 |
""" |
""" |
133 |
|
|
150 |
which in turn calls the load() method (overloaded by child) |
which in turn calls the load() method (overloaded by child) |
151 |
""" |
""" |
152 |
|
|
153 |
|
# Wrap this in a try statement in case the module dosent exist. |
154 |
# Load the module |
# Load the module |
155 |
Module = self._import_name("Circus" + module_name + "." + |
Module = self._import_name("Circus" + module_name + "." + |
156 |
string.lower(module_name), "MyModule") |
string.lower(module_name), "MyModule") |
157 |
|
|
|
#if not Module: |
|
|
# print "AH FUCK" |
|
158 |
|
|
159 |
# Add it to our modules |
# Add it to our modules |
160 |
self.modules.setdefault(module_name, Module()) |
try: |
161 |
|
self.modules.setdefault(module_name, Module()) |
|
# Add module name to events list, so we know what it wants to know about |
|
|
for e in self.modules[module_name].my_events: |
|
|
try: |
|
|
self.module_events[e].append(module_name) |
|
|
except KeyError: |
|
|
self.module_events[e] = [module_name] |
|
|
|
|
|
self.modules[module_name].__name__ = module_name |
|
|
self.modules[module_name]._load(self.config, self.display) |
|
162 |
|
|
163 |
|
# Add module name to events list, so we know what it wants to |
164 |
|
# know about |
165 |
|
for e in self.modules[module_name].my_events: |
166 |
|
try: |
167 |
|
self.module_events[e].append(module_name) |
168 |
|
except KeyError: |
169 |
|
self.module_events[e] = [module_name] |
170 |
|
|
171 |
|
self.modules[module_name].__name__ = module_name |
172 |
|
self.modules[module_name]._load(self.config, self.display) |
173 |
|
except Exception: |
174 |
|
sys.stderr.write("Module '" + module_name + "' failed to load\n") |
175 |
|
|
176 |
def unload_module(self, module_name): |
def unload_module(self, module_name): |
177 |
self.modules[module_name]._unload() |
self.modules[module_name]._unload() |