def __init__(self, conn, directory, stdin = None): super(SettingsCmd, self).__init__(conn, stdin = stdin) self.cwd = directory self.directory = directory self.settings = [s for s in self.list_directory(directory) if isinstance(s, Setting)] self.dirty = False self.prompt_context = colorize( "%s[settings]" % self.directory, self.directory.color) self.update_prompt()
def update_prompt(self): context = getattr(self, "prompt_context", None) interactive = getattr(self, "interactive", True) if not interactive: prompt = '' elif not self.conn: prompt = "disconnected >" elif context: prompt = "%s:%s %s > " % (self.conn.host, self.conn.port, context) else: prompt = "%s:%s > " % (self.conn.host, self.conn.port) self.prompt = colorize(prompt, Colors.Green)
def cwd(self, cwd): self._cwd = cwd self.prompt_context = colorize(cwd.display_path, cwd.color) self.update_prompt()
def do_ls(self, name): directory = self.get_directory(name) if name else self.cwd listing = self.list_directory(directory, "Couldn't list directory") for subdir in listing or []: print colorize(subdir.display_name, subdir.color)