equal
deleted
inserted
replaced
45 } |
45 } |
46 } |
46 } |
47 return of |
47 return of |
48 } |
48 } |
49 |
49 |
|
50 type mcPrinter struct { |
|
51 printer.ResourcePrinter |
|
52 command string |
|
53 } |
|
54 |
|
55 type mcResourcePrinter interface { |
|
56 printer.ResourcePrinter |
|
57 printObj(interface{}) error |
|
58 setCommand(string) |
|
59 } |
|
60 |
50 // getPrinter returns a resource printer for the requested output format. |
61 // getPrinter returns a resource printer for the requested output format. |
51 func getPrinter() (printer.ResourcePrinter, error) { |
62 func getPrinter() (mcResourcePrinter, error) { |
52 opt := make(printer.Options) |
63 opt := make(printer.Options) |
53 of := getOutputFormat() |
64 of := getOutputFormat() |
54 |
65 |
55 // Initialize color mode |
66 // Initialize color mode |
56 switch viper.GetString("color") { |
67 switch viper.GetString("color") { |
73 return nil, err |
84 return nil, err |
74 } |
85 } |
75 opt["template"] = string(tmpl) |
86 opt["template"] = string(tmpl) |
76 } |
87 } |
77 } |
88 } |
78 return printer.NewPrinter(of, opt) |
89 var mcrp mcPrinter |
|
90 p, err := printer.NewPrinter(of, opt) |
|
91 if err != nil { |
|
92 return mcrp, err |
|
93 } |
|
94 mcrp.ResourcePrinter = p |
|
95 return mcrp, nil |
79 } |
96 } |
80 |
97 |
81 func readTemplate(name, templateDir string) ([]byte, error) { |
98 func readTemplate(name, templateDir string) ([]byte, error) { |
82 if strings.HasPrefix(name, "/") || strings.HasPrefix(name, "./") || strings.HasPrefix(name, "../") { |
99 if strings.HasPrefix(name, "/") || strings.HasPrefix(name, "./") || strings.HasPrefix(name, "../") { |
83 return ioutil.ReadFile(name) |
100 return ioutil.ReadFile(name) |
121 } |
138 } |
122 |
139 |
123 func errPrint(format string, a ...interface{}) (n int, err error) { |
140 func errPrint(format string, a ...interface{}) (n int, err error) { |
124 return fmt.Fprintf(os.Stderr, format+"\n", a...) |
141 return fmt.Fprintf(os.Stderr, format+"\n", a...) |
125 } |
142 } |
|
143 |
|
144 func (mcp mcPrinter) printObj(obj interface{}) error { |
|
145 return mcp.PrintObj(obj, nil, "") |
|
146 } |
|
147 |
|
148 func (mcp mcPrinter) setCommand(cmd string) { |
|
149 mcp.command = cmd |
|
150 } |