def displayfunction(x): out.write(args.csv_separator.join(utils.fields2csv_head(fields))) out.write('\n') for h in x: displayhost_csv(fields, args.csv_separator, args.csv_na_str, h, out=out)
def displayfunction_csv(cur: Iterable[NmapHost], arg: str, csv_sep: str, csv_na_str: str, add_infos: bool) -> None: fields: Optional[OrderedDict] = { "ports": OrderedDict([ ("addr", True), ("ports", OrderedDict([("port", str), ("state_state", True)])), ]), "hops": OrderedDict([ ("addr", True), ( "traces", OrderedDict([( "hops", OrderedDict([ ("ipaddr", True), ("ttl", str), ( "rtt", lambda x: (csv_na_str if x == "--" else str(x)), ), ]), )]), ), ]), "rtt": OrderedDict([ ("addr", True), ( "traces", OrderedDict([( "hops", OrderedDict([ ( "rtt", lambda x: (csv_na_str if x == "--" else str(x)), ), ]), )]), ), ]), }.get(arg) if fields is None: # active_parser.error("Invalid choice for --csv.") sys.stderr.write("Invalid choice for --csv.\n") return if add_infos: fields["infos"] = OrderedDict([ ("country_code", True), ("city", True), ("as_num", str), ]) sys.stdout.write(csv_sep.join(utils.fields2csv_head(fields))) sys.stdout.write("\n") for h in cur: _displayhost_csv(fields, csv_sep, csv_na_str, h, out=sys.stdout)
def displayfunction_csv(cur, arg, csv_sep, csv_na_str, add_infos): fields = { "ports": OrderedDict([ ["addr", True], ["ports", OrderedDict([["port", str], ["state_state", True]])], ]), "hops": OrderedDict([ ["addr", True], [ "traces", OrderedDict([[ "hops", OrderedDict([ ["ipaddr", True], ["ttl", str], [ "rtt", lambda x: (csv_na_str if x == "--" else str(x)), ], ]), ]]), ], ]), "rtt": OrderedDict([ ["addr", True], [ "traces", OrderedDict([[ "hops", OrderedDict([ [ "rtt", lambda x: (csv_na_str if x == "--" else str(x)), ], ]), ]]), ], ]), }.get(arg) if fields is None: # active_parser.error("Invalid choice for --csv.") sys.stderr.write("Invalid choice for --csv.\n") return if add_infos: fields["infos"] = OrderedDict([ ["country_code", True], ["city", True], ["as_num", str], ]) sys.stdout.write(csv_sep.join(utils.fields2csv_head(fields))) sys.stdout.write("\n") for h in cur: _displayhost_csv(fields, csv_sep, csv_na_str, h, out=sys.stdout)
def displayfunction_csv(cur, arg, csv_sep, csv_na_str, add_infos): fields = { "ports": OrderedDict([ ["addr", utils.int2ip], ["ports", OrderedDict([ ["port", str], ["state_state", True]])]]), "hops": OrderedDict([ ["addr", utils.int2ip], ["traces", OrderedDict([ ["hops", OrderedDict([ ["ipaddr", utils.int2ip], ["ttl", str], ["rtt", lambda x: (csv_na_str if x == '--' else str(x))], ])] ])] ]), "rtt": OrderedDict([ ["addr", utils.int2ip], ["traces", OrderedDict([ ["hops", OrderedDict([ ["rtt", lambda x: (csv_na_str if x == '--' else str(x))], ])] ])] ]), }.get(arg) if fields is None: # active_parser.error("Invalid choice for --csv.") sys.stderr.write("Invalid choice for --csv.\n") return if add_infos: fields['infos'] = OrderedDict([ ["country_code", True], ["city", True], ["as_num", str], ]) sys.stdout.write(csv_sep.join(utils.fields2csv_head(fields))) sys.stdout.write('\n') for h in cur: _displayhost_csv(fields, csv_sep, csv_na_str, h, out=sys.stdout)
def displayfunction(x): out.write(args.csv_separator.join(utils.fields2csv_head(fields))) out.write('\n') for h in x: displayhost_csv(fields, args.csv_separator, args.csv_na_str, h, out=out)