Newer
Older
schema "code.fbi.h-da.de/cocsn/yang-models/generated/arista"
"fmt"
"github.com/openconfig/goyang/pkg/yang"
)
type PathElement struct {
Children []*PathElement
Name string
}
func main() {
tree := schema.SchemaTree
paths := make(map[string]*PathElement)
for k,v := range tree {
if v.Parent != nil {
if v.Parent.Name == "device" {
paths[k] = processEntry(v)
}
}
}
fmt.Println("stop")
}
func processEntry(e *yang.Entry) *PathElement {
if e.Dir != nil {
elem := &PathElement{
Children: make([]*PathElement, len(e.Dir)),
Name: e.Name,
}
for _,v := range e.Dir {
child := processEntry(v)
elem.Children = append(elem.Children, child)
}
}
leaf := &PathElement{
Name: e.Name,
}
return leaf
}