def do_ls(self, dirname): if not dirname: self.do_echo("Missing file/dir name") return r = WebHdfs.Get(self.hdfsurl + dirname, "ls", auth=self.auth, curl=self.curl) if r is not None: if r.get("FileStatuses"): fs_list = r["FileStatuses"]["FileStatus"] self.do_echo("\n".join(gen_fileinfo(fs) for fs in fs_list)) else: self.do_echo(r)
def do_ls(self, filename, filter_=lambda _:True): if len(filename) == 0: filename = self.cwd if filename[0] != "/": filename = "%s/%s" % (self.cwd, filename) r = self.Get(self.weburl + filename, "ls", self.user, curl=self.curl) if r is not None: if r.get("FileStatuses"): fs_list = r["FileStatuses"]["FileStatus"] self.do_echo("\n".join(filter(filter_, (gen_fileinfo(fs) for fs in fs_list)))) else: self.do_echo("File not found")