MCPcopy
hub / github.com/perkeep/perkeep / NewDirReader

Function NewDirReader

pkg/schema/dirreader.go:42–57  ·  view source on GitHub ↗

NewDirReader creates a new directory reader and prepares to fetch the static-set entries

(ctx context.Context, fetcher blob.Fetcher, dirBlobRef blob.Ref)

Source from the content-addressed store, hash-verified

40// NewDirReader creates a new directory reader and prepares to
41// fetch the static-set entries
42func NewDirReader(ctx context.Context, fetcher blob.Fetcher, dirBlobRef blob.Ref) (*DirReader, error) {
43 ss := new(superset)
44 err := ss.setFromBlobRef(ctx, fetcher, dirBlobRef)
45 if err != nil {
46 return nil, err
47 }
48 if ss.Type != "directory" {
49 return nil, fmt.Errorf("schema/dirreader: expected \"directory\" schema blob for %s, got %q", dirBlobRef, ss.Type)
50 }
51 dr, err := ss.NewDirReader(fetcher)
52 if err != nil {
53 return nil, fmt.Errorf("schema/dirreader: creating DirReader for %s: %v", dirBlobRef, err)
54 }
55 dr.current = 0
56 return dr, nil
57}
58
59func (b *Blob) NewDirReader(ctx context.Context, fetcher blob.Fetcher) (*DirReader, error) {
60 return b.ss.NewDirReader(fetcher)

Callers 5

dirInfoMethod · 0.92
ReadDirAllMethod · 0.92
blobsFromDirMethod · 0.92
DirectoryMethod · 0.85
testReadDirFunction · 0.85

Calls 2

setFromBlobRefMethod · 0.80
NewDirReaderMethod · 0.45

Tested by 1

testReadDirFunction · 0.68