func jobGet(c *manager.Client, job string, flags parsedFlags) error { if job == "" { return errUnexpectedArgCount("1", 0) } out, err := c.GetJob(job) if err != nil { return err } // if streaming logs then we just print a short job info followed by the // log stream if flags.streamLogs { if err := printTemplate(out, shortJobTemplate, &jobInfo{}); err != nil { return err } logs, err := c.StreamLogs(job) if err != nil { return err } defer logs.Close() log := make([]byte, 128) for { n, err := logs.Read(log) if n > 0 { fmt.Printf("%s", log[:n]) } if err != nil { break } } return nil } if !flags.jsonOutput { return printTemplate(out, jobTemplate, &jobInfo{}) } return ppJSON(out) }