mirror of
https://shylinux.com/x/icebergs
synced 2025-05-01 11:09:23 +08:00
opt info
This commit is contained in:
parent
431c4064a4
commit
bdd36c292d
62
info.go
Normal file
62
info.go
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
package ice
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
kit "shylinux.com/x/toolkits"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Info = struct {
|
||||||
|
HostName string
|
||||||
|
PathName string
|
||||||
|
UserName string
|
||||||
|
PassWord string
|
||||||
|
|
||||||
|
NodeType string
|
||||||
|
NodeName string
|
||||||
|
CtxShare string
|
||||||
|
CtxRiver string
|
||||||
|
|
||||||
|
Make struct {
|
||||||
|
Time string
|
||||||
|
Hash string
|
||||||
|
Remote string
|
||||||
|
Branch string
|
||||||
|
Version string
|
||||||
|
HostName string
|
||||||
|
UserName string
|
||||||
|
}
|
||||||
|
|
||||||
|
Pack map[string][]byte
|
||||||
|
names map[string]interface{}
|
||||||
|
}{
|
||||||
|
Pack: map[string][]byte{},
|
||||||
|
names: map[string]interface{}{},
|
||||||
|
}
|
||||||
|
|
||||||
|
func Dump(w io.Writer, name string, cb func(string)) bool {
|
||||||
|
for _, key := range []string{name, strings.TrimPrefix(name, USR_VOLCANOS)} {
|
||||||
|
if b, ok := Info.Pack[key]; ok {
|
||||||
|
if cb != nil {
|
||||||
|
cb(name)
|
||||||
|
}
|
||||||
|
w.Write(b)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
func Name(name string, value interface{}) string {
|
||||||
|
if s, ok := Info.names[name]; ok {
|
||||||
|
last := ""
|
||||||
|
switch s := s.(type) {
|
||||||
|
case *Context:
|
||||||
|
last = s.Name
|
||||||
|
}
|
||||||
|
panic(kit.Format("%s %s %v", ErrExists, name, last))
|
||||||
|
}
|
||||||
|
|
||||||
|
Info.names[name] = value
|
||||||
|
return name
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user