def _internalGetFunction(self, error_translator, functionPath): """ Получить функцию, выполняющую команду с указанным именем и при этом использующую указанный механизм преобразования ошибок. @param error_translator: преобразователь ошибок @param functionPath: имя функции (полное, как путь) @type functionPath: C{str} @return: функция, которая принимает параметры команды и возвращает Deferred на её результат """ command = dispatchCommand(functionPath) def commandAsMethod(params): try: command.params.getUnserialized(params) except AttributeError, (param): raise errors.UnknownParameterException, param except TypeError, (param): raise errors.TypeParameterException, param
def testDispatchOK(self): installCommand(FakeCommand) self.assert_(type(dispatchCommand('sf.test.fake')) is FakeCommand) deinstallCommand(FakeCommand)