Browse code

Remove job from export

Signed-off-by: Antonio Murdaca <me@runcom.ninja>

Antonio Murdaca authored on 2015/04/12 23:04:01
Showing 3 changed files
... ...
@@ -280,12 +280,10 @@ func getContainersExport(eng *engine.Engine, version version.Version, w http.Res
280 280
 	if vars == nil {
281 281
 		return fmt.Errorf("Missing parameter")
282 282
 	}
283
-	job := eng.Job("export", vars["name"])
284
-	job.Stdout.Add(w)
285
-	if err := job.Run(); err != nil {
286
-		return err
287
-	}
288
-	return nil
283
+
284
+	d := getDaemon(eng)
285
+
286
+	return d.ContainerExport(vars["name"], w)
289 287
 }
290 288
 
291 289
 func getImagesJSON(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
... ...
@@ -121,7 +121,6 @@ func (daemon *Daemon) Install(eng *engine.Engine) error {
121 121
 		"container_inspect": daemon.ContainerInspect,
122 122
 		"container_stats":   daemon.ContainerStats,
123 123
 		"create":            daemon.ContainerCreate,
124
-		"export":            daemon.ContainerExport,
125 124
 		"info":              daemon.CmdInfo,
126 125
 		"logs":              daemon.ContainerLogs,
127 126
 		"restart":           daemon.ContainerRestart,
... ...
@@ -3,16 +3,9 @@ package daemon
3 3
 import (
4 4
 	"fmt"
5 5
 	"io"
6
-
7
-	"github.com/docker/docker/engine"
8 6
 )
9 7
 
10
-func (daemon *Daemon) ContainerExport(job *engine.Job) error {
11
-	if len(job.Args) != 1 {
12
-		return fmt.Errorf("Usage: %s container_id", job.Name)
13
-	}
14
-	name := job.Args[0]
15
-
8
+func (daemon *Daemon) ContainerExport(name string, out io.Writer) error {
16 9
 	container, err := daemon.Get(name)
17 10
 	if err != nil {
18 11
 		return err
... ...
@@ -25,7 +18,7 @@ func (daemon *Daemon) ContainerExport(job *engine.Job) error {
25 25
 	defer data.Close()
26 26
 
27 27
 	// Stream the entire contents of the container (basically a volatile snapshot)
28
-	if _, err := io.Copy(job.Stdout, data); err != nil {
28
+	if _, err := io.Copy(out, data); err != nil {
29 29
 		return fmt.Errorf("%s: %s", name, err)
30 30
 	}
31 31
 	// FIXME: factor job-specific LogEvent to engine.Job.Run()