diff --git a/confluent_server/confluent/consoleserver.py b/confluent_server/confluent/consoleserver.py index dd8341e3..d265837f 100644 --- a/confluent_server/confluent/consoleserver.py +++ b/confluent_server/confluent/consoleserver.py @@ -194,6 +194,8 @@ class ConsoleHandler(object): self._console = plugin.handle_path( self._plugin_path.format(self.node), "create", self.cfgmgr) + except exc.NotImplementedException: + self._console = None except: _tracelog.log(traceback.format_exc(), ltype=log.DataTypes.event, event=log.Events.stacktrace) diff --git a/confluent_server/confluent/core.py b/confluent_server/confluent/core.py index e7e6a98e..9aa0adaf 100644 --- a/confluent_server/confluent/core.py +++ b/confluent_server/confluent/core.py @@ -572,10 +572,19 @@ def handle_node_request(configmanager, inputdata, operation, inputdata=inputdata)) if isnoderange or not autostrip: return itertools.chain(*passvalues) - elif isinstance(passvalues[0], console.Console): - return passvalues[0] else: - return stripnode(passvalues[0], nodes[0]) + if len(passvalues) > 0: + if isinstance(passvalues[0], console.Console): + return passvalues[0] + else: + return stripnode(passvalues[0], nodes[0]) + else: + raise exc.NotImplementedException() + + # elif isinstance(passvalues[0], console.Console): + # return passvalues[0] + # else: + # return stripnode(passvalues[0], nodes[0]) def handle_path(path, operation, configmanager, inputdata=None, autostrip=True):