mirror of
https://github.com/containers/skopeo.git
synced 2025-09-20 01:20:09 +00:00
vendor github.com/containers/image/v5@v5.2.0
See release notes: https://github.com/containers/image/releases/tag/v5.2.0 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
7
vendor/github.com/vbauerster/mpb/v4/bar_option.go
generated
vendored
7
vendor/github.com/vbauerster/mpb/v4/bar_option.go
generated
vendored
@@ -10,11 +10,10 @@ import (
|
||||
// BarOption is a function option which changes the default behavior of a bar.
|
||||
type BarOption func(*bState)
|
||||
|
||||
type mergeWrapper interface {
|
||||
MergeUnwrap() []decor.Decorator
|
||||
}
|
||||
|
||||
func (s *bState) addDecorators(dest *[]decor.Decorator, decorators ...decor.Decorator) {
|
||||
type mergeWrapper interface {
|
||||
MergeUnwrap() []decor.Decorator
|
||||
}
|
||||
for _, decorator := range decorators {
|
||||
if mw, ok := decorator.(mergeWrapper); ok {
|
||||
*dest = append(*dest, mw.MergeUnwrap()...)
|
||||
|
27
vendor/github.com/vbauerster/mpb/v4/decor/decorator.go
generated
vendored
27
vendor/github.com/vbauerster/mpb/v4/decor/decorator.go
generated
vendored
@@ -4,6 +4,8 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/acarl005/stripansi"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -117,25 +119,29 @@ var (
|
||||
// W represents width and C represents bit set of width related config.
|
||||
// A decorator should embed WC, to enable width synchronization.
|
||||
type WC struct {
|
||||
W int
|
||||
C int
|
||||
dynFormat string
|
||||
staticFormat string
|
||||
wsync chan int
|
||||
W int
|
||||
C int
|
||||
dynFormat string
|
||||
wsync chan int
|
||||
}
|
||||
|
||||
// FormatMsg formats final message according to WC.W and WC.C.
|
||||
// Should be called by any Decorator implementation.
|
||||
func (wc *WC) FormatMsg(msg string) string {
|
||||
var format string
|
||||
runeCount := utf8.RuneCountInString(stripansi.Strip(msg))
|
||||
ansiCount := utf8.RuneCountInString(msg) - runeCount
|
||||
if (wc.C & DSyncWidth) != 0 {
|
||||
wc.wsync <- utf8.RuneCountInString(msg)
|
||||
max := <-wc.wsync
|
||||
if (wc.C & DextraSpace) != 0 {
|
||||
max++
|
||||
runeCount++
|
||||
}
|
||||
return fmt.Sprintf(fmt.Sprintf(wc.dynFormat, max), msg)
|
||||
wc.wsync <- runeCount
|
||||
max := <-wc.wsync
|
||||
format = fmt.Sprintf(wc.dynFormat, ansiCount+max)
|
||||
} else {
|
||||
format = fmt.Sprintf(wc.dynFormat, ansiCount+wc.W)
|
||||
}
|
||||
return fmt.Sprintf(wc.staticFormat, msg)
|
||||
return fmt.Sprintf(format, msg)
|
||||
}
|
||||
|
||||
// Init initializes width related config.
|
||||
@@ -145,7 +151,6 @@ func (wc *WC) Init() WC {
|
||||
wc.dynFormat += "-"
|
||||
}
|
||||
wc.dynFormat += "%ds"
|
||||
wc.staticFormat = fmt.Sprintf(wc.dynFormat, wc.W)
|
||||
if (wc.C & DSyncWidth) != 0 {
|
||||
// it's deliberate choice to override wsync on each Init() call,
|
||||
// this way globals like WCSyncSpace can be reused
|
||||
|
49
vendor/github.com/vbauerster/mpb/v4/decor/merge.go
generated
vendored
49
vendor/github.com/vbauerster/mpb/v4/decor/merge.go
generated
vendored
@@ -2,6 +2,7 @@ package decor
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"unicode/utf8"
|
||||
)
|
||||
|
||||
@@ -28,10 +29,7 @@ func Merge(decorator Decorator, placeholders ...WC) Decorator {
|
||||
if (wc.C & DSyncWidth) == 0 {
|
||||
return decorator
|
||||
}
|
||||
md.placeHolders[i] = &placeHolderDecorator{
|
||||
WC: wc.Init(),
|
||||
wch: make(chan int),
|
||||
}
|
||||
md.placeHolders[i] = &placeHolderDecorator{wc.Init()}
|
||||
}
|
||||
return md
|
||||
}
|
||||
@@ -69,29 +67,40 @@ func (d *mergeDecorator) Base() Decorator {
|
||||
func (d *mergeDecorator) Decor(st *Statistics) string {
|
||||
msg := d.Decorator.Decor(st)
|
||||
msgLen := utf8.RuneCountInString(msg)
|
||||
|
||||
var space int
|
||||
for _, ph := range d.placeHolders {
|
||||
space += <-ph.wch
|
||||
}
|
||||
|
||||
d.wc.wsync <- msgLen - space
|
||||
|
||||
max := <-d.wc.wsync
|
||||
if (d.wc.C & DextraSpace) != 0 {
|
||||
max++
|
||||
msgLen++
|
||||
}
|
||||
return fmt.Sprintf(fmt.Sprintf(d.wc.dynFormat, max+space), msg)
|
||||
|
||||
var total int
|
||||
max := utf8.RuneCountInString(d.placeHolders[0].FormatMsg(""))
|
||||
total += max
|
||||
pw := (msgLen - max) / len(d.placeHolders)
|
||||
rem := (msgLen - max) % len(d.placeHolders)
|
||||
|
||||
var diff int
|
||||
for i := 1; i < len(d.placeHolders); i++ {
|
||||
ph := d.placeHolders[i]
|
||||
width := pw - diff
|
||||
if (ph.WC.C & DextraSpace) != 0 {
|
||||
width--
|
||||
if width < 0 {
|
||||
width = 0
|
||||
}
|
||||
}
|
||||
max = utf8.RuneCountInString(ph.FormatMsg(strings.Repeat(" ", width)))
|
||||
total += max
|
||||
diff = max - pw
|
||||
}
|
||||
|
||||
d.wc.wsync <- pw + rem
|
||||
max = <-d.wc.wsync
|
||||
return fmt.Sprintf(fmt.Sprintf(d.wc.dynFormat, max+total), msg)
|
||||
}
|
||||
|
||||
type placeHolderDecorator struct {
|
||||
WC
|
||||
wch chan int
|
||||
}
|
||||
|
||||
func (d *placeHolderDecorator) Decor(st *Statistics) string {
|
||||
go func() {
|
||||
d.wch <- utf8.RuneCountInString(d.FormatMsg(""))
|
||||
}()
|
||||
func (d *placeHolderDecorator) Decor(_ *Statistics) string {
|
||||
return ""
|
||||
}
|
||||
|
1
vendor/github.com/vbauerster/mpb/v4/go.mod
generated
vendored
1
vendor/github.com/vbauerster/mpb/v4/go.mod
generated
vendored
@@ -2,6 +2,7 @@ module github.com/vbauerster/mpb/v4
|
||||
|
||||
require (
|
||||
github.com/VividCortex/ewma v1.1.1
|
||||
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
|
||||
golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708
|
||||
golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056 // indirect
|
||||
)
|
||||
|
2
vendor/github.com/vbauerster/mpb/v4/go.sum
generated
vendored
2
vendor/github.com/vbauerster/mpb/v4/go.sum
generated
vendored
@@ -1,5 +1,7 @@
|
||||
github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM=
|
||||
github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA=
|
||||
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
|
||||
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708 h1:pXVtWnwHkrWD9ru3sDxY/qFK/bfc0egRovX91EjWjf4=
|
||||
golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
|
8
vendor/github.com/vbauerster/mpb/v4/proxyreader.go
generated
vendored
8
vendor/github.com/vbauerster/mpb/v4/proxyreader.go
generated
vendored
@@ -18,9 +18,7 @@ func (prox *proxyReader) Read(p []byte) (n int, err error) {
|
||||
prox.iT = time.Now()
|
||||
}
|
||||
if err == io.EOF {
|
||||
go func() {
|
||||
prox.bar.SetTotal(0, true)
|
||||
}()
|
||||
go prox.bar.SetTotal(0, true)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -37,9 +35,7 @@ func (prox *proxyWriterTo) WriteTo(w io.Writer) (n int64, err error) {
|
||||
prox.iT = time.Now()
|
||||
}
|
||||
if err == io.EOF {
|
||||
go func() {
|
||||
prox.bar.SetTotal(0, true)
|
||||
}()
|
||||
go prox.bar.SetTotal(0, true)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user