mirror of
https://github.com/Mikaela/Limnoria.git
synced 2025-02-19 23:20:57 +01:00
Refactored slightly, added some debug logging, etc.
This commit is contained in:
parent
01e3cbad9e
commit
e393459893
@ -53,7 +53,7 @@ _newDrivers = []
|
|||||||
class IrcDriver(object):
|
class IrcDriver(object):
|
||||||
"""Base class for drivers."""
|
"""Base class for drivers."""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
_newDrivers.append((self.name(), self))
|
add(self.name(), self)
|
||||||
if not hasattr(self, 'irc'):
|
if not hasattr(self, 'irc'):
|
||||||
self.irc = None # This is to satisfy PyChecker.
|
self.irc = None # This is to satisfy PyChecker.
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ class IrcDriver(object):
|
|||||||
# The end of any overrided die method should be
|
# The end of any overrided die method should be
|
||||||
# "super(Class, self).die()", in order to make
|
# "super(Class, self).die()", in order to make
|
||||||
# sure this (and anything else later added) is done.
|
# sure this (and anything else later added) is done.
|
||||||
_deadDrivers.append(self.name())
|
remove(self.name())
|
||||||
|
|
||||||
def reconnect(self, wait=False):
|
def reconnect(self, wait=False):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
@ -100,12 +100,15 @@ def run():
|
|||||||
# The Schedule driver has no irc object, or it's None.
|
# The Schedule driver has no irc object, or it's None.
|
||||||
driver.irc.driver = None
|
driver.irc.driver = None
|
||||||
driver.irc = None
|
driver.irc = None
|
||||||
|
log.info('Removing driver %s.', name)
|
||||||
del _drivers[name]
|
del _drivers[name]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
while _newDrivers:
|
while _newDrivers:
|
||||||
(name, driver) = _newDrivers.pop()
|
(name, driver) = _newDrivers.pop()
|
||||||
|
log.debug('Adding new driver %s.', name)
|
||||||
if name in _drivers:
|
if name in _drivers:
|
||||||
|
log.warning('Driver %s already added, killing it.', name)
|
||||||
_drivers[name].die()
|
_drivers[name].die()
|
||||||
del _drivers[name]
|
del _drivers[name]
|
||||||
_drivers[name] = driver
|
_drivers[name] = driver
|
||||||
@ -125,6 +128,8 @@ def newDriver(server, irc, moduleName=None):
|
|||||||
elif not moduleName.startswith('supybot.'):
|
elif not moduleName.startswith('supybot.'):
|
||||||
moduleName = 'supybot.' + moduleName
|
moduleName = 'supybot.' + moduleName
|
||||||
driverModule = __import__(moduleName, {}, {}, ['not empty'])
|
driverModule = __import__(moduleName, {}, {}, ['not empty'])
|
||||||
|
log.debug('Creating new driver for %s:%s (%s)',
|
||||||
|
server[0], server[1], moduleName)
|
||||||
driver = driverModule.Driver(server, irc)
|
driver = driverModule.Driver(server, irc)
|
||||||
irc.driver = driver
|
irc.driver = driver
|
||||||
return driver
|
return driver
|
||||||
|
Loading…
x
Reference in New Issue
Block a user