diff --git a/tools/cfgshell b/tools/cfgshell index 253d32a3a9baed1fff33301013de66b575ba15e2..966cc99e68ed9297e0b82fa5c24c4774b74c013b 100755 --- a/tools/cfgshell +++ b/tools/cfgshell @@ -186,7 +186,8 @@ class ConfigShell(cmd.Cmd): def do_cd(self, line): """Changes the current path. - Valid arguments: either .. or a child of the current object. + Valid arguments: either .., /, "" (no argument) or a child of the current + object. """ if line == "..": @@ -197,6 +198,10 @@ class ConfigShell(cmd.Cmd): else: print "Already at top level" return False + elif len(line) == 0 or line == "/": + self.parents = self.parents[0:1] + self.path = [] + return False pointer = self.parents[-1] dirs, entries = self._get_entries(pointer) @@ -317,6 +322,7 @@ class ConfigShell(cmd.Cmd): print return True + class Error(Exception): """Generic exception""" pass