Browse code

allow multiple params in inspect

Victor Vieux authored on 2013/06/07 00:22:54
Showing 1 changed files
... ...
@@ -512,28 +512,33 @@ func (cli *DockerCli) CmdStart(args ...string) error {
512 512
 }
513 513
 
514 514
 func (cli *DockerCli) CmdInspect(args ...string) error {
515
-	cmd := Subcmd("inspect", "CONTAINER|IMAGE", "Return low-level information on a container/image")
515
+	cmd := Subcmd("inspect", "CONTAINER|IMAGE [CONTAINER|IMAGE...]", "Return low-level information on a container/image")
516 516
 	if err := cmd.Parse(args); err != nil {
517 517
 		return nil
518 518
 	}
519
-	if cmd.NArg() != 1 {
519
+	if cmd.NArg() < 1 {
520 520
 		cmd.Usage()
521 521
 		return nil
522 522
 	}
523
-	obj, _, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/json", nil)
524
-	if err != nil {
525
-		obj, _, err = cli.call("GET", "/images/"+cmd.Arg(0)+"/json", nil)
523
+
524
+	for _, name := range args {
525
+		obj, _, err := cli.call("GET", "/containers/"+name+"/json", nil)
526 526
 		if err != nil {
527
-			return err
527
+			obj, _, err = cli.call("GET", "/images/"+name+"/json", nil)
528
+			if err != nil {
529
+				fmt.Printf("%s", err)
530
+				continue
531
+			}
528 532
 		}
529
-	}
530 533
 
531
-	indented := new(bytes.Buffer)
532
-	if err = json.Indent(indented, obj, "", "    "); err != nil {
533
-		return err
534
-	}
535
-	if _, err := io.Copy(os.Stdout, indented); err != nil {
536
-		return err
534
+		indented := new(bytes.Buffer)
535
+		if err = json.Indent(indented, obj, "", "    "); err != nil {
536
+			fmt.Printf("%s", err)
537
+			continue
538
+		}
539
+		if _, err := io.Copy(os.Stdout, indented); err != nil {
540
+			fmt.Printf("%s", err)
541
+		}
537 542
 	}
538 543
 	return nil
539 544
 }