parent
c3f29e8540
commit
c63c8c8778
@ -0,0 +1,102 @@ |
|||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"fmt" |
||||||
|
"github.com/go-yaml/yaml" |
||||||
|
"log" |
||||||
|
) |
||||||
|
|
||||||
|
type STag struct { |
||||||
|
S_tag string |
||||||
|
S_args []string |
||||||
|
} |
||||||
|
|
||||||
|
type SCmd struct { |
||||||
|
S_cmd string |
||||||
|
S_hash string |
||||||
|
} |
||||||
|
|
||||||
|
type STagConfig struct { |
||||||
|
S_tag string |
||||||
|
S_commands []SCmd |
||||||
|
} |
||||||
|
|
||||||
|
type SCORSHmsg struct { |
||||||
|
S_msg []STag |
||||||
|
} |
||||||
|
|
||||||
|
type SCORSHcfg struct { |
||||||
|
S_cfg []STagConfig |
||||||
|
} |
||||||
|
|
||||||
|
var msg_str = ` |
||||||
|
s_msg: |
||||||
|
- s_tag: BUILD |
||||||
|
s_args:
|
||||||
|
- suites/jessie
|
||||||
|
- suites/ascii |
||||||
|
- s_tag: REMOVE |
||||||
|
s_args:
|
||||||
|
- file1 |
||||||
|
` |
||||||
|
|
||||||
|
var cfg_str = ` |
||||||
|
s_cfg: |
||||||
|
- s_tag: BUILD |
||||||
|
s_commands: |
||||||
|
- s_cmd: file:///bin/ls
|
||||||
|
s_hash: 12345 |
||||||
|
- s_cmd: file:///home/katolaz/script.sh
|
||||||
|
s_hash: abc123df |
||||||
|
- s_cmd: http://myserver.org/build.php?name=\1
|
||||||
|
s_hash:
|
||||||
|
- s_tag: REMOVE |
||||||
|
s_commands: |
||||||
|
- s_cmd: file:///bin/rm
|
||||||
|
` |
||||||
|
|
||||||
|
func main() { |
||||||
|
|
||||||
|
var c SCORSHmsg |
||||||
|
|
||||||
|
var conf SCORSHcfg |
||||||
|
|
||||||
|
//log.Printf("%s\n", test_str)
|
||||||
|
|
||||||
|
err := yaml.Unmarshal([]byte(msg_str), &c) |
||||||
|
if err != nil { |
||||||
|
log.Fatal("error: ", err) |
||||||
|
} |
||||||
|
|
||||||
|
for _, item := range c.S_msg { |
||||||
|
fmt.Printf("Record: \n") |
||||||
|
fmt.Printf(" s_tag: %s\n", item.S_tag) |
||||||
|
fmt.Printf(" s_args:\n") |
||||||
|
|
||||||
|
for _, a := range item.S_args { |
||||||
|
fmt.Printf(" %s\n", a) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
fmt.Println("----------------------------") |
||||||
|
|
||||||
|
err = yaml.Unmarshal([]byte(cfg_str), &conf) |
||||||
|
if err != nil { |
||||||
|
log.Fatal("error: ", err) |
||||||
|
} |
||||||
|
|
||||||
|
for _, cfg_item := range conf.S_cfg { |
||||||
|
fmt.Printf("Config record:\n") |
||||||
|
fmt.Printf(" s_tag: %s\n", cfg_item.S_tag) |
||||||
|
fmt.Printf(" s_commands:\n") |
||||||
|
|
||||||
|
for _, c := range cfg_item.S_commands { |
||||||
|
fmt.Printf(" s_cmd: %s\n", c.S_cmd) |
||||||
|
fmt.Printf(" s_hash: %s\n", c.S_hash) |
||||||
|
fmt.Println(" ---") |
||||||
|
} |
||||||
|
fmt.Println("-+-+-") |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue