Browse code

Move "viz" to graph/viz.go

Signed-off-by: Solomon Hykes <solomon@docker.com>

Solomon Hykes authored on 2014/08/05 14:11:02
Showing 4 changed files
... ...
@@ -18,6 +18,7 @@ func (s *TagStore) Install(eng *engine.Engine) error {
18 18
 	eng.Register("image_export", s.CmdImageExport)
19 19
 	eng.Register("history", s.CmdHistory)
20 20
 	eng.Register("images", s.CmdImages)
21
+	eng.Register("viz", s.CmdViz)
21 22
 	return nil
22 23
 }
23 24
 
24 25
new file mode 100644
... ...
@@ -0,0 +1,38 @@
0
+package graph
1
+
2
+import (
3
+	"strings"
4
+
5
+	"github.com/docker/docker/engine"
6
+	"github.com/docker/docker/image"
7
+)
8
+
9
+func (s *TagStore) CmdViz(job *engine.Job) engine.Status {
10
+	images, _ := s.graph.Map()
11
+	if images == nil {
12
+		return engine.StatusOK
13
+	}
14
+	job.Stdout.Write([]byte("digraph docker {\n"))
15
+
16
+	var (
17
+		parentImage *image.Image
18
+		err         error
19
+	)
20
+	for _, image := range images {
21
+		parentImage, err = image.GetParent()
22
+		if err != nil {
23
+			return job.Errorf("Error while getting parent image: %v", err)
24
+		}
25
+		if parentImage != nil {
26
+			job.Stdout.Write([]byte(" \"" + parentImage.ID + "\" -> \"" + image.ID + "\"\n"))
27
+		} else {
28
+			job.Stdout.Write([]byte(" base -> \"" + image.ID + "\" [style=invis]\n"))
29
+		}
30
+	}
31
+
32
+	for id, repos := range s.GetRepoRefs() {
33
+		job.Stdout.Write([]byte(" \"" + id + "\" [label=\"" + id + "\\n" + strings.Join(repos, "\\n") + "\",shape=box,fillcolor=\"paleturquoise\",style=\"filled,rounded\"];\n"))
34
+	}
35
+	job.Stdout.Write([]byte(" base [style=invisible]\n}\n"))
36
+	return engine.StatusOK
37
+}
... ...
@@ -212,36 +212,6 @@ func (srv *Server) recursiveLoad(eng *engine.Engine, address, tmpImageDir string
212 212
 	return nil
213 213
 }
214 214
 
215
-func (srv *Server) ImagesViz(job *engine.Job) engine.Status {
216
-	images, _ := srv.daemon.Graph().Map()
217
-	if images == nil {
218
-		return engine.StatusOK
219
-	}
220
-	job.Stdout.Write([]byte("digraph docker {\n"))
221
-
222
-	var (
223
-		parentImage *image.Image
224
-		err         error
225
-	)
226
-	for _, image := range images {
227
-		parentImage, err = image.GetParent()
228
-		if err != nil {
229
-			return job.Errorf("Error while getting parent image: %v", err)
230
-		}
231
-		if parentImage != nil {
232
-			job.Stdout.Write([]byte(" \"" + parentImage.ID + "\" -> \"" + image.ID + "\"\n"))
233
-		} else {
234
-			job.Stdout.Write([]byte(" base -> \"" + image.ID + "\" [style=invis]\n"))
235
-		}
236
-	}
237
-
238
-	for id, repos := range srv.daemon.Repositories().GetRepoRefs() {
239
-		job.Stdout.Write([]byte(" \"" + id + "\" [label=\"" + id + "\\n" + strings.Join(repos, "\\n") + "\",shape=box,fillcolor=\"paleturquoise\",style=\"filled,rounded\"];\n"))
240
-	}
241
-	job.Stdout.Write([]byte(" base [style=invisible]\n}\n"))
242
-	return engine.StatusOK
243
-}
244
-
245 215
 func (srv *Server) ImageTag(job *engine.Job) engine.Status {
246 216
 	if len(job.Args) != 2 && len(job.Args) != 3 {
247 217
 		return job.Errorf("Usage: %s IMAGE REPOSITORY [TAG]\n", job.Name)
... ...
@@ -88,7 +88,6 @@ func InitServer(job *engine.Job) engine.Status {
88 88
 	for name, handler := range map[string]engine.Handler{
89 89
 		"tag":          srv.ImageTag, // FIXME merge with "image_tag"
90 90
 		"info":         srv.DockerInfo,
91
-		"viz":          srv.ImagesViz,
92 91
 		"log":          srv.Log,
93 92
 		"load":         srv.ImageLoad,
94 93
 		"build":        srv.Build,