Beispiel #1
0
func (b *Build) callbackForPush(msg *dockerclient.JSONMessage) {
	if e := msg.Err(); e != nil {
		log.Printf("%s", e)
		return
	}
	msg.Status = strings.TrimSpace(msg.Status)
	switch {
	case msg.Status == "":
		// ignore
	case b.Verbose:
		fmt.Printf("%s\n", msg.Status)
	case msg.Status == "Buffering to disk" && msg.Progress.Total > 0:
		fmt.Printf("\r[%s] Buffering: %4.2f %%", msg.Id, 100.0*float32(msg.Progress.Current)/float32(msg.Progress.Total))
	case msg.Status == "Pushing" && msg.Progress.Total > 0:
		fmt.Printf("\r[%s] Pushing:   %4.2f %%", msg.Id, 100.0*float32(msg.Progress.Current)/float32(msg.Progress.Total))
	case msg.Status == "Image successfully pushed":
		fmt.Printf("\r[%s] Pushing:   ... done\n", msg.Id)
	}
}