package main import ( "errors" "os" "path/filepath" "strings" "go.wit.com/lib/protobuf/zoopb" "go.wit.com/log" ) var errStopWalk = errors.New("walk stopped by user") func doWalk() (string, error) { os.Chdir(me.pb.BaseDir) var counter int err := filepath.Walk("pool", func(path string, info os.FileInfo, err error) error { if err != nil { return err } if !info.IsDir() && strings.HasSuffix(info.Name(), ".deb") { found := me.pb.FindByFilename(path) if found != nil { return nil } counter += 1 // if counter > 10 { // return errStopWalk // } newdeb := new(zoopb.Package) newdeb.Filename = path me.pb.AppendByFilename(newdeb) log.Info("added new", path) } return nil }) if counter > 0 { me.pb.Save() } s := log.Sprintf("add %d new packages. Total packages.Len()=%d", counter, me.pb.Len()) return s, err }