Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
| ... | ... |
@@ -192,40 +192,35 @@ func getImagesJSON(srv *Server, version float64, w http.ResponseWriter, r *http. |
| 192 | 192 |
job.Setenv("filter", r.Form.Get("filter"))
|
| 193 | 193 |
job.Setenv("all", r.Form.Get("all"))
|
| 194 | 194 |
|
| 195 |
- if version >= 1.9 {
|
|
| 195 |
+ if version > 1.8 {
|
|
| 196 | 196 |
job.Stdout.Add(w) |
| 197 |
- } else if outs, err = job.Stdout.AddTable(); err != nil {
|
|
| 197 |
+ } else if outs, err = job.Stdout.AddListTable(); err != nil {
|
|
| 198 | 198 |
return err |
| 199 | 199 |
} |
| 200 | 200 |
|
| 201 |
- if err = job.Run(); err != nil {
|
|
| 201 |
+ if err := job.Run(); err != nil {
|
|
| 202 | 202 |
return err |
| 203 | 203 |
} |
| 204 | 204 |
|
| 205 |
- if version < 1.9 { // Send as a valid JSON array
|
|
| 206 |
- if version < 1.8 { // Convert to legacy format
|
|
| 207 |
- outsLegacy := engine.NewTable("Created", 0)
|
|
| 208 |
- for _, out := range outs.Data {
|
|
| 209 |
- for _, repoTag := range out.GetList("RepoTags") {
|
|
| 210 |
- parts := strings.Split(repoTag, ":") |
|
| 211 |
- outLegacy := &engine.Env{}
|
|
| 212 |
- outLegacy.Set("Repository", parts[0])
|
|
| 213 |
- outLegacy.Set("Tag", parts[1])
|
|
| 214 |
- outLegacy.Set("ID", out.Get("ID"))
|
|
| 215 |
- outLegacy.SetInt64("Created", out.GetInt64("Created"))
|
|
| 216 |
- outLegacy.SetInt64("Size", out.GetInt64("Size"))
|
|
| 217 |
- outLegacy.SetInt64("VirtualSize", out.GetInt64("VirtualSize"))
|
|
| 218 |
- outsLegacy.Add(outLegacy) |
|
| 219 |
- } |
|
| 220 |
- } |
|
| 221 |
- if _, err = outsLegacy.WriteListTo(w); err != nil {
|
|
| 222 |
- return err |
|
| 205 |
+ if version < 1.8 && outs != nil { // Convert to legacy format
|
|
| 206 |
+ outsLegacy := engine.NewTable("Created", 0)
|
|
| 207 |
+ for _, out := range outs.Data {
|
|
| 208 |
+ for _, repoTag := range out.GetList("RepoTags") {
|
|
| 209 |
+ parts := strings.Split(repoTag, ":") |
|
| 210 |
+ outLegacy := &engine.Env{}
|
|
| 211 |
+ outLegacy.Set("Repository", parts[0])
|
|
| 212 |
+ outLegacy.Set("Tag", parts[1])
|
|
| 213 |
+ outLegacy.Set("ID", out.Get("ID"))
|
|
| 214 |
+ outLegacy.SetInt64("Created", out.GetInt64("Created"))
|
|
| 215 |
+ outLegacy.SetInt64("Size", out.GetInt64("Size"))
|
|
| 216 |
+ outLegacy.SetInt64("VirtualSize", out.GetInt64("VirtualSize"))
|
|
| 217 |
+ outsLegacy.Add(outLegacy) |
|
| 223 | 218 |
} |
| 224 |
- } else if _, err = outs.WriteListTo(w); err != nil {
|
|
| 219 |
+ } |
|
| 220 |
+ if _, err := outsLegacy.WriteListTo(w); err != nil {
|
|
| 225 | 221 |
return err |
| 226 | 222 |
} |
| 227 | 223 |
} |
| 228 |
- |
|
| 229 | 224 |
return nil |
| 230 | 225 |
} |
| 231 | 226 |
|
| ... | ... |
@@ -307,25 +302,12 @@ func getImagesHistory(srv *Server, version float64, w http.ResponseWriter, r *ht |
| 307 | 307 |
return fmt.Errorf("Missing parameter")
|
| 308 | 308 |
} |
| 309 | 309 |
|
| 310 |
- var ( |
|
| 311 |
- err error |
|
| 312 |
- outs *engine.Table |
|
| 313 |
- job = srv.Eng.Job("history", vars["name"])
|
|
| 314 |
- ) |
|
| 310 |
+ var job = srv.Eng.Job("history", vars["name"])
|
|
| 311 |
+ job.Stdout.Add(w) |
|
| 315 | 312 |
|
| 316 |
- if version >= 1.9 {
|
|
| 317 |
- job.Stdout.Add(w) |
|
| 318 |
- } else if outs, err = job.Stdout.AddTable(); err != nil {
|
|
| 319 |
- return err |
|
| 320 |
- } |
|
| 321 |
- if err = job.Run(); err != nil {
|
|
| 313 |
+ if err := job.Run(); err != nil {
|
|
| 322 | 314 |
return err |
| 323 | 315 |
} |
| 324 |
- if version < 1.9 { // Send as a valid JSON array
|
|
| 325 |
- if _, err = outs.WriteListTo(w); err != nil {
|
|
| 326 |
- return err |
|
| 327 |
- } |
|
| 328 |
- } |
|
| 329 | 316 |
return nil |
| 330 | 317 |
} |
| 331 | 318 |
|
| ... | ... |
@@ -333,26 +315,10 @@ func getContainersChanges(srv *Server, version float64, w http.ResponseWriter, r |
| 333 | 333 |
if vars == nil {
|
| 334 | 334 |
return fmt.Errorf("Missing parameter")
|
| 335 | 335 |
} |
| 336 |
- var ( |
|
| 337 |
- err error |
|
| 338 |
- outs *engine.Table |
|
| 339 |
- job = srv.Eng.Job("changes", vars["name"])
|
|
| 340 |
- ) |
|
| 336 |
+ var job = srv.Eng.Job("changes", vars["name"])
|
|
| 337 |
+ job.Stdout.Add(w) |
|
| 341 | 338 |
|
| 342 |
- if version >= 1.9 {
|
|
| 343 |
- job.Stdout.Add(w) |
|
| 344 |
- } else if outs, err = job.Stdout.AddTable(); err != nil {
|
|
| 345 |
- return err |
|
| 346 |
- } |
|
| 347 |
- if err = job.Run(); err != nil {
|
|
| 348 |
- return err |
|
| 349 |
- } |
|
| 350 |
- if version < 1.9 { // Send as a valid JSON array
|
|
| 351 |
- if _, err = outs.WriteListTo(w); err != nil {
|
|
| 352 |
- return err |
|
| 353 |
- } |
|
| 354 |
- } |
|
| 355 |
- return nil |
|
| 339 |
+ return job.Run() |
|
| 356 | 340 |
} |
| 357 | 341 |
|
| 358 | 342 |
func getContainersTop(srv *Server, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
|
| ... | ... |
@@ -501,25 +467,10 @@ func getImagesSearch(srv *Server, version float64, w http.ResponseWriter, r *htt |
| 501 | 501 |
return err |
| 502 | 502 |
} |
| 503 | 503 |
|
| 504 |
- var ( |
|
| 505 |
- err error |
|
| 506 |
- outs *engine.Table |
|
| 507 |
- job = srv.Eng.Job("search", r.Form.Get("term"))
|
|
| 508 |
- ) |
|
| 509 |
- if version >= 1.9 {
|
|
| 510 |
- job.Stdout.Add(w) |
|
| 511 |
- } else if outs, err = job.Stdout.AddTable(); err != nil {
|
|
| 512 |
- return err |
|
| 513 |
- } |
|
| 514 |
- if err = job.Run(); err != nil {
|
|
| 515 |
- return err |
|
| 516 |
- } |
|
| 517 |
- if version < 1.9 { // Send as a valid JSON array
|
|
| 518 |
- if _, err = outs.WriteListTo(w); err != nil {
|
|
| 519 |
- return err |
|
| 520 |
- } |
|
| 521 |
- } |
|
| 522 |
- return nil |
|
| 504 |
+ var job = srv.Eng.Job("search", r.Form.Get("term"))
|
|
| 505 |
+ job.Stdout.Add(w) |
|
| 506 |
+ |
|
| 507 |
+ return job.Run() |
|
| 523 | 508 |
} |
| 524 | 509 |
|
| 525 | 510 |
func postImagesInsert(srv *Server, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
|
| ... | ... |
@@ -869,7 +869,7 @@ func (cli *DockerCli) CmdHistory(args ...string) error {
|
| 869 | 869 |
} |
| 870 | 870 |
|
| 871 | 871 |
outs := engine.NewTable("Created", 0)
|
| 872 |
- if _, err := outs.ReadFrom(stream); err != nil {
|
|
| 872 |
+ if _, err := outs.ReadListFrom(stream); err != nil {
|
|
| 873 | 873 |
return err |
| 874 | 874 |
} |
| 875 | 875 |
|
| ... | ... |
@@ -1147,7 +1147,7 @@ func (cli *DockerCli) CmdImages(args ...string) error {
|
| 1147 | 1147 |
} |
| 1148 | 1148 |
|
| 1149 | 1149 |
outs := engine.NewTable("Created", 0)
|
| 1150 |
- if _, err := outs.ReadFrom(stream); err != nil {
|
|
| 1150 |
+ if _, err := outs.ReadListFrom(stream); err != nil {
|
|
| 1151 | 1151 |
return err |
| 1152 | 1152 |
} |
| 1153 | 1153 |
|
| ... | ... |
@@ -1219,7 +1219,7 @@ func (cli *DockerCli) CmdImages(args ...string) error {
|
| 1219 | 1219 |
} |
| 1220 | 1220 |
|
| 1221 | 1221 |
outs := engine.NewTable("Created", 0)
|
| 1222 |
- if _, err := outs.ReadFrom(stream); err != nil {
|
|
| 1222 |
+ if _, err := outs.ReadListFrom(stream); err != nil {
|
|
| 1223 | 1223 |
return err |
| 1224 | 1224 |
} |
| 1225 | 1225 |
|
| ... | ... |
@@ -1540,7 +1540,7 @@ func (cli *DockerCli) CmdDiff(args ...string) error {
|
| 1540 | 1540 |
} |
| 1541 | 1541 |
|
| 1542 | 1542 |
outs := engine.NewTable("", 0)
|
| 1543 |
- if _, err := outs.ReadFrom(stream); err != nil {
|
|
| 1543 |
+ if _, err := outs.ReadListFrom(stream); err != nil {
|
|
| 1544 | 1544 |
return err |
| 1545 | 1545 |
} |
| 1546 | 1546 |
for _, change := range outs.Data {
|
| ... | ... |
@@ -1681,7 +1681,7 @@ func (cli *DockerCli) CmdSearch(args ...string) error {
|
| 1681 | 1681 |
return err |
| 1682 | 1682 |
} |
| 1683 | 1683 |
outs := engine.NewTable("star_count", 0)
|
| 1684 |
- if _, err := outs.ReadFrom(stream); err != nil {
|
|
| 1684 |
+ if _, err := outs.ReadListFrom(stream); err != nil {
|
|
| 1685 | 1685 |
return err |
| 1686 | 1686 |
} |
| 1687 | 1687 |
w := tabwriter.NewWriter(cli.out, 10, 1, 3, ' ', 0) |
| ... | ... |
@@ -46,14 +46,6 @@ Full Documentation |
| 46 | 46 |
What's new |
| 47 | 47 |
---------- |
| 48 | 48 |
|
| 49 |
-.. http:get:: /images/json |
|
| 50 |
- |
|
| 51 |
- **New!** This endpoint now returns a list of json message, like the events endpoint |
|
| 52 |
- |
|
| 53 |
-.. http:get:: /images/(name)/history |
|
| 54 |
- |
|
| 55 |
- **New!** This endpoint now returns a list of json message, like the events endpoint |
|
| 56 |
- |
|
| 57 | 49 |
.. http:post:: /build |
| 58 | 50 |
|
| 59 | 51 |
**New!** This endpoint now takes a serialized ConfigFile which it uses to |
| ... | ... |
@@ -317,18 +317,20 @@ Inspect changes on a container's filesystem |
| 317 | 317 |
HTTP/1.1 200 OK |
| 318 | 318 |
Content-Type: application/json |
| 319 | 319 |
|
| 320 |
- {
|
|
| 320 |
+ [ |
|
| 321 |
+ {
|
|
| 321 | 322 |
"Path":"/dev", |
| 322 | 323 |
"Kind":0 |
| 323 |
- } |
|
| 324 |
- {
|
|
| 324 |
+ }, |
|
| 325 |
+ {
|
|
| 325 | 326 |
"Path":"/dev/kmsg", |
| 326 | 327 |
"Kind":1 |
| 327 |
- } |
|
| 328 |
- {
|
|
| 328 |
+ }, |
|
| 329 |
+ {
|
|
| 329 | 330 |
"Path":"/test", |
| 330 | 331 |
"Kind":1 |
| 331 |
- } |
|
| 332 |
+ } |
|
| 333 |
+ ] |
|
| 332 | 334 |
|
| 333 | 335 |
:statuscode 200: no error |
| 334 | 336 |
:statuscode 404: no such container |
| ... | ... |
@@ -654,7 +656,8 @@ List Images |
| 654 | 654 |
HTTP/1.1 200 OK |
| 655 | 655 |
Content-Type: application/json |
| 656 | 656 |
|
| 657 |
- {
|
|
| 657 |
+ [ |
|
| 658 |
+ {
|
|
| 658 | 659 |
"RepoTags": [ |
| 659 | 660 |
"ubuntu:12.04", |
| 660 | 661 |
"ubuntu:precise", |
| ... | ... |
@@ -664,8 +667,8 @@ List Images |
| 664 | 664 |
"Created": 1365714795, |
| 665 | 665 |
"Size": 131506275, |
| 666 | 666 |
"VirtualSize": 131506275 |
| 667 |
- } |
|
| 668 |
- {
|
|
| 667 |
+ }, |
|
| 668 |
+ {
|
|
| 669 | 669 |
"RepoTags": [ |
| 670 | 670 |
"ubuntu:12.10", |
| 671 | 671 |
"ubuntu:quantal" |
| ... | ... |
@@ -675,7 +678,8 @@ List Images |
| 675 | 675 |
"Created": 1364102658, |
| 676 | 676 |
"Size": 24653, |
| 677 | 677 |
"VirtualSize": 180116135 |
| 678 |
- } |
|
| 678 |
+ } |
|
| 679 |
+ ] |
|
| 679 | 680 |
|
| 680 | 681 |
|
| 681 | 682 |
Create an image |
| ... | ... |
@@ -821,16 +825,18 @@ Get the history of an image |
| 821 | 821 |
HTTP/1.1 200 OK |
| 822 | 822 |
Content-Type: application/json |
| 823 | 823 |
|
| 824 |
- {
|
|
| 824 |
+ [ |
|
| 825 |
+ {
|
|
| 825 | 826 |
"Id":"b750fe79269d", |
| 826 | 827 |
"Created":1364102658, |
| 827 | 828 |
"CreatedBy":"/bin/bash" |
| 828 |
- } |
|
| 829 |
- {
|
|
| 829 |
+ }, |
|
| 830 |
+ {
|
|
| 830 | 831 |
"Id":"27cf78414709", |
| 831 | 832 |
"Created":1364068391, |
| 832 | 833 |
"CreatedBy":"" |
| 833 |
- } |
|
| 834 |
+ } |
|
| 835 |
+ ] |
|
| 834 | 836 |
|
| 835 | 837 |
:statuscode 200: no error |
| 836 | 838 |
:statuscode 404: no such image |
| ... | ... |
@@ -954,28 +960,30 @@ Search images |
| 954 | 954 |
HTTP/1.1 200 OK |
| 955 | 955 |
Content-Type: application/json |
| 956 | 956 |
|
| 957 |
- {
|
|
| 957 |
+ [ |
|
| 958 |
+ {
|
|
| 958 | 959 |
"description": "", |
| 959 | 960 |
"is_official": false, |
| 960 | 961 |
"is_trusted": false, |
| 961 | 962 |
"name": "wma55/u1210sshd", |
| 962 | 963 |
"star_count": 0 |
| 963 |
- } |
|
| 964 |
- {
|
|
| 964 |
+ }, |
|
| 965 |
+ {
|
|
| 965 | 966 |
"description": "", |
| 966 | 967 |
"is_official": false, |
| 967 | 968 |
"is_trusted": false, |
| 968 | 969 |
"name": "jdswinbank/sshd", |
| 969 | 970 |
"star_count": 0 |
| 970 |
- } |
|
| 971 |
- {
|
|
| 971 |
+ }, |
|
| 972 |
+ {
|
|
| 972 | 973 |
"description": "", |
| 973 | 974 |
"is_official": false, |
| 974 | 975 |
"is_trusted": false, |
| 975 | 976 |
"name": "vgauthier/sshd", |
| 976 | 977 |
"star_count": 0 |
| 977 |
- } |
|
| 978 |
+ } |
|
| 978 | 979 |
... |
| 980 |
+ ] |
|
| 979 | 981 |
|
| 980 | 982 |
:query term: term to search |
| 981 | 983 |
:statuscode 200: no error |
| ... | ... |
@@ -5,6 +5,7 @@ import ( |
| 5 | 5 |
"encoding/json" |
| 6 | 6 |
"fmt" |
| 7 | 7 |
"io" |
| 8 |
+ "io/ioutil" |
|
| 8 | 9 |
"sort" |
| 9 | 10 |
"strconv" |
| 10 | 11 |
"strings" |
| ... | ... |
@@ -324,6 +325,31 @@ func (t *Table) WriteTo(dst io.Writer) (n int64, err error) {
|
| 324 | 324 |
return n, nil |
| 325 | 325 |
} |
| 326 | 326 |
|
| 327 |
+func (t *Table) ReadListFrom(src io.Reader) (n int64, err error) {
|
|
| 328 |
+ var array []interface{}
|
|
| 329 |
+ |
|
| 330 |
+ content, err := ioutil.ReadAll(src) |
|
| 331 |
+ if err != nil {
|
|
| 332 |
+ return -1, err |
|
| 333 |
+ } |
|
| 334 |
+ |
|
| 335 |
+ if err := json.Unmarshal(content, &array); err != nil {
|
|
| 336 |
+ return -1, err |
|
| 337 |
+ } |
|
| 338 |
+ |
|
| 339 |
+ for _, item := range array {
|
|
| 340 |
+ if m, ok := item.(map[string]interface{}); ok {
|
|
| 341 |
+ env := &Env{}
|
|
| 342 |
+ for key, value := range m {
|
|
| 343 |
+ env.SetAuto(key, value) |
|
| 344 |
+ } |
|
| 345 |
+ t.Add(env) |
|
| 346 |
+ } |
|
| 347 |
+ } |
|
| 348 |
+ |
|
| 349 |
+ return int64(len(content)), nil |
|
| 350 |
+} |
|
| 351 |
+ |
|
| 327 | 352 |
func (t *Table) ReadFrom(src io.Reader) (n int64, err error) {
|
| 328 | 353 |
decoder := NewDecoder(src) |
| 329 | 354 |
for {
|
| ... | ... |
@@ -211,6 +211,22 @@ func (o *Output) AddEnv() (dst *Env, err error) {
|
| 211 | 211 |
return dst, nil |
| 212 | 212 |
} |
| 213 | 213 |
|
| 214 |
+func (o *Output) AddListTable() (dst *Table, err error) {
|
|
| 215 |
+ src, err := o.AddPipe() |
|
| 216 |
+ if err != nil {
|
|
| 217 |
+ return nil, err |
|
| 218 |
+ } |
|
| 219 |
+ dst = NewTable("", 0)
|
|
| 220 |
+ o.tasks.Add(1) |
|
| 221 |
+ go func() {
|
|
| 222 |
+ defer o.tasks.Done() |
|
| 223 |
+ if _, err := dst.ReadListFrom(src); err != nil {
|
|
| 224 |
+ return |
|
| 225 |
+ } |
|
| 226 |
+ }() |
|
| 227 |
+ return dst, nil |
|
| 228 |
+} |
|
| 229 |
+ |
|
| 214 | 230 |
func (o *Output) AddTable() (dst *Table, err error) {
|
| 215 | 231 |
src, err := o.AddPipe() |
| 216 | 232 |
if err != nil {
|
| ... | ... |
@@ -61,7 +61,7 @@ func TestGetInfo(t *testing.T) {
|
| 61 | 61 |
srv := mkServerFromEngine(eng, t) |
| 62 | 62 |
|
| 63 | 63 |
job := eng.Job("images")
|
| 64 |
- initialImages, err := job.Stdout.AddTable() |
|
| 64 |
+ initialImages, err := job.Stdout.AddListTable() |
|
| 65 | 65 |
if err != nil {
|
| 66 | 66 |
t.Fatal(err) |
| 67 | 67 |
} |
| ... | ... |
@@ -149,7 +149,7 @@ func TestGetImagesJSON(t *testing.T) {
|
| 149 | 149 |
srv := mkServerFromEngine(eng, t) |
| 150 | 150 |
|
| 151 | 151 |
job := eng.Job("images")
|
| 152 |
- initialImages, err := job.Stdout.AddTable() |
|
| 152 |
+ initialImages, err := job.Stdout.AddListTable() |
|
| 153 | 153 |
if err != nil {
|
| 154 | 154 |
t.Fatal(err) |
| 155 | 155 |
} |
| ... | ... |
@@ -170,7 +170,7 @@ func TestGetImagesJSON(t *testing.T) {
|
| 170 | 170 |
assertHttpNotError(r, t) |
| 171 | 171 |
|
| 172 | 172 |
images := engine.NewTable("Created", 0)
|
| 173 |
- if _, err := images.ReadFrom(r.Body); err != nil {
|
|
| 173 |
+ if _, err := images.ReadListFrom(r.Body); err != nil {
|
|
| 174 | 174 |
t.Fatal(err) |
| 175 | 175 |
} |
| 176 | 176 |
|
| ... | ... |
@@ -205,7 +205,7 @@ func TestGetImagesJSON(t *testing.T) {
|
| 205 | 205 |
assertHttpNotError(r2, t) |
| 206 | 206 |
|
| 207 | 207 |
images2 := engine.NewTable("ID", 0)
|
| 208 |
- if _, err := images2.ReadFrom(r2.Body); err != nil {
|
|
| 208 |
+ if _, err := images2.ReadListFrom(r2.Body); err != nil {
|
|
| 209 | 209 |
t.Fatal(err) |
| 210 | 210 |
} |
| 211 | 211 |
|
| ... | ... |
@@ -238,7 +238,7 @@ func TestGetImagesJSON(t *testing.T) {
|
| 238 | 238 |
assertHttpNotError(r3, t) |
| 239 | 239 |
|
| 240 | 240 |
images3 := engine.NewTable("ID", 0)
|
| 241 |
- if _, err := images3.ReadFrom(r3.Body); err != nil {
|
|
| 241 |
+ if _, err := images3.ReadListFrom(r3.Body); err != nil {
|
|
| 242 | 242 |
t.Fatal(err) |
| 243 | 243 |
} |
| 244 | 244 |
|
| ... | ... |
@@ -264,7 +264,7 @@ func TestGetImagesHistory(t *testing.T) {
|
| 264 | 264 |
assertHttpNotError(r, t) |
| 265 | 265 |
|
| 266 | 266 |
outs := engine.NewTable("Created", 0)
|
| 267 |
- if _, err := outs.ReadFrom(r.Body); err != nil {
|
|
| 267 |
+ if _, err := outs.ReadListFrom(r.Body); err != nil {
|
|
| 268 | 268 |
t.Fatal(err) |
| 269 | 269 |
} |
| 270 | 270 |
if len(outs.Data) != 1 {
|
| ... | ... |
@@ -409,7 +409,7 @@ func TestGetContainersChanges(t *testing.T) {
|
| 409 | 409 |
} |
| 410 | 410 |
assertHttpNotError(r, t) |
| 411 | 411 |
outs := engine.NewTable("", 0)
|
| 412 |
- if _, err := outs.ReadFrom(r.Body); err != nil {
|
|
| 412 |
+ if _, err := outs.ReadListFrom(r.Body); err != nil {
|
|
| 413 | 413 |
t.Fatal(err) |
| 414 | 414 |
} |
| 415 | 415 |
|
| ... | ... |
@@ -335,7 +335,7 @@ func getImages(eng *engine.Engine, t *testing.T, all bool, filter string) *engin |
| 335 | 335 |
job := eng.Job("images")
|
| 336 | 336 |
job.SetenvBool("all", all)
|
| 337 | 337 |
job.Setenv("filter", filter)
|
| 338 |
- images, err := job.Stdout.AddTable() |
|
| 338 |
+ images, err := job.Stdout.AddListTable() |
|
| 339 | 339 |
if err != nil {
|
| 340 | 340 |
t.Fatal(err) |
| 341 | 341 |
} |
| ... | ... |
@@ -493,7 +493,7 @@ func (srv *Server) ImagesSearch(job *engine.Job) engine.Status {
|
| 493 | 493 |
outs.Add(out) |
| 494 | 494 |
} |
| 495 | 495 |
outs.ReverseSort() |
| 496 |
- if _, err := outs.WriteTo(job.Stdout); err != nil {
|
|
| 496 |
+ if _, err := outs.WriteListTo(job.Stdout); err != nil {
|
|
| 497 | 497 |
job.Error(err) |
| 498 | 498 |
return engine.StatusErr |
| 499 | 499 |
} |
| ... | ... |
@@ -658,7 +658,7 @@ func (srv *Server) Images(job *engine.Job) engine.Status {
|
| 658 | 658 |
} |
| 659 | 659 |
|
| 660 | 660 |
outs.ReverseSort() |
| 661 |
- if _, err := outs.WriteTo(job.Stdout); err != nil {
|
|
| 661 |
+ if _, err := outs.WriteListTo(job.Stdout); err != nil {
|
|
| 662 | 662 |
job.Error(err) |
| 663 | 663 |
return engine.StatusErr |
| 664 | 664 |
} |
| ... | ... |
@@ -744,7 +744,7 @@ func (srv *Server) ImageHistory(job *engine.Job) engine.Status {
|
| 744 | 744 |
return nil |
| 745 | 745 |
}) |
| 746 | 746 |
outs.ReverseSort() |
| 747 |
- if _, err := outs.WriteTo(job.Stdout); err != nil {
|
|
| 747 |
+ if _, err := outs.WriteListTo(job.Stdout); err != nil {
|
|
| 748 | 748 |
job.Error(err) |
| 749 | 749 |
return engine.StatusErr |
| 750 | 750 |
} |
| ... | ... |
@@ -849,7 +849,7 @@ func (srv *Server) ContainerChanges(job *engine.Job) engine.Status {
|
| 849 | 849 |
} |
| 850 | 850 |
outs.Add(out) |
| 851 | 851 |
} |
| 852 |
- if _, err := outs.WriteTo(job.Stdout); err != nil {
|
|
| 852 |
+ if _, err := outs.WriteListTo(job.Stdout); err != nil {
|
|
| 853 | 853 |
job.Error(err) |
| 854 | 854 |
return engine.StatusErr |
| 855 | 855 |
} |