Allow plugins to take over a subdirectory of the HTTP server.

This commit is contained in:
Valentin Lorentz 2011-10-27 10:47:59 +02:00
parent 51e02849ad
commit a87c096d69
2 changed files with 6 additions and 4 deletions

View File

@ -57,9 +57,11 @@ class RealSupyHTTPServer(HTTPServer):
running = False
def hook(self, subdir, callback):
if subdir in self.callbacks:
raise KeyError('This subdir is already hooked.')
else:
self.callbacks[subdir] = callback
log.warning(('The HTTP subdirectory `%s` was already hooked but '
'has been claimed by another plugin (or maybe you '
'reloaded the plugin and it didn\'t properly unhook. '
'Forced unhook.') % subdir)
self.callbacks[subdir] = callback
def unhook(self, subdir):
callback = self.callbacks.pop(subdir) # May raise a KeyError. We don't care.
callback.doUnhook(self)

View File

@ -1,3 +1,3 @@
"""stick the various versioning attributes in here, so we only have to change
them once."""
version = '0.83.4.1+limnoria (2011-10-27T10:47:25+0200)'
version = '0.83.4.1+limnoria (2011-10-27T10:47:59+0200)'