func cmd_items(conn *scrapinghub.Connection, args []string, flags *PFlags) { if len(args) < 1 { log.Fatalf("Missing argument: <job_id>\n") } job_id := args[0] count := flags.Count offset := flags.Offset ls := scrapinghub.LinesStream{Conn: conn, Count: count, Offset: offset} if flags.AsJsonLines { ch_lines, errch := ls.ItemsAsJsonLines(job_id) for line := range ch_lines { print_out(flags, line) } for err := range errch { log.Fatalf("items error: %s\n", err) } } else if flags.AsCSV { ch_lines, errch := ls.ItemsAsCSV(job_id, flags.CSVFlags.IncludeHeaders, flags.CSVFlags.Fields) for line := range ch_lines { print_out(flags, line) } for err := range errch { log.Fatalf("items error: %s\n", err) } } else { items, err := scrapinghub.RetrieveItems(conn, job_id, count, offset) if err != nil { log.Fatalf("items error: %s\n", err) } for i, e := range items { print_out(flags, "Item %5d %s\n", i, dashes(129)) for k, v := range e { //fmt.Printf("| %-33s | %100s |\n", k, fmt.Sprintf("%v", v)) print_out(flags, "| %-33s | %100s |\n", k, fmt.Sprintf("%v", v)) } print_out(flags, dashes(140)) } } }