v1.8.1
ADDED: * A way to actually use Auger externally. lel.
This commit is contained in:
@@ -4,8 +4,42 @@ import (
|
||||
`io/fs`
|
||||
`os`
|
||||
`strings`
|
||||
|
||||
`honnef.co/go/augeas`
|
||||
)
|
||||
|
||||
/*
|
||||
NewAuger returns an auger.Aug.
|
||||
|
||||
See:
|
||||
https://pkg.go.dev/honnef.co/go/augeas#readme-examples
|
||||
https://pkg.go.dev/honnef.co/go/augeas#New
|
||||
for the `root` and `loadPath` parameters
|
||||
(and, by extension, the `flags` paraemter; note that the `flags`
|
||||
is an auger.AugFlags, not an augeas.Flag!).
|
||||
|
||||
`flags` may be nil.
|
||||
*/
|
||||
func NewAuger(root, loadPath string, flags *AugFlags) (aug *Aug, err error) {
|
||||
|
||||
aug = new(Aug)
|
||||
|
||||
if aug.aug, err = augeas.New(root, loadPath, flags.Eval()); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// NewAugerFromAugeas returns a wrapped auger.Aug from a (honnef.co/go/augeas).Augeas.
|
||||
func NewAugerFromAugeas(orig augeas.Augeas) (aug *Aug) {
|
||||
|
||||
aug = new(Aug)
|
||||
aug.aug = orig
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
/*
|
||||
AugpathToFspath returns the filesystem path from an Augeas path.
|
||||
|
||||
|
||||
@@ -7,6 +7,10 @@ import (
|
||||
// Eval returns an evaluated set of flags.
|
||||
func (a *AugFlags) Eval() (augFlags augeas.Flag) {
|
||||
|
||||
if a == nil {
|
||||
return
|
||||
}
|
||||
|
||||
augFlags = augeas.None
|
||||
|
||||
if a.Backup != nil && *a.Backup {
|
||||
|
||||
24
auger/funcs_test.go
Normal file
24
auger/funcs_test.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package auger
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
`honnef.co/go/augeas`
|
||||
)
|
||||
|
||||
func TestNewAuger(t *testing.T) {
|
||||
|
||||
var aug *Aug
|
||||
var augUnder augeas.Augeas
|
||||
var err error
|
||||
|
||||
if aug, err = NewAuger("/", "", nil); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
augUnder = aug.aug
|
||||
|
||||
aug = NewAugerFromAugeas(augUnder)
|
||||
|
||||
_ = aug
|
||||
}
|
||||
Reference in New Issue
Block a user