# HG changeset patch # User Pierre-Yves David # Date 1300359830 -3600 # Node ID d9e6e79e023a802b10e5597b8eb490ba0ab7102c # Parent bad26a22fe29d1d7b634586d29b612e6dfa0141f [testlib] require explicite overwriting of TestDataBaseHandler. A new overwrite (default to False) parametters is added. diff -r bad26a22fe29 -r d9e6e79e023a devtools/__init__.py --- a/devtools/__init__.py Tue Dec 07 12:18:20 2010 +0100 +++ b/devtools/__init__.py Thu Mar 17 12:03:50 2011 +0100 @@ -698,9 +698,14 @@ HANDLERS = {} -def register_handler(handlerkls): +def register_handler(handlerkls, overwrite=False): assert handlerkls is not None - HANDLERS[handlerkls.DRIVER] = handlerkls + if overwrite or handlerkls.DRIVER not in HANDLERS: + HANDLERS[handlerkls.DRIVER] = handlerkls + else: + msg = "%s: Handler already exists use overwrite if it's intended\n" + "(existing handler class is %r)" + raise ValueError(msg % (handlerkls.DRIVER, HANDLERS[handlerkls.DRIVER])) register_handler(PostgresTestDataBaseHandler) register_handler(SQLiteTestDataBaseHandler)