aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/file.go
blob: bb2e52113ee869ac1db62984aee8bde9b28b173c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package filesys

import (
	"bazil.org/fuse"
	"fmt"
	"github.com/chrislusf/seaweedfs/weed/filer"
	"context"
)

type File struct {
	FileId filer.FileId
	Name   string
	wfs    *WFS
}

func (file *File) Attr(context context.Context, attr *fuse.Attr) error {
	attr.Mode = 0444
	ret, err := filer.GetFileSize(file.wfs.filer, string(file.FileId))
	if err == nil {
		attr.Size = ret.Size
	} else {
		fmt.Printf("Get file %s attr [ERROR] %s\n", file.Name, err)
	}
	return err
}

func (file *File) ReadAll(ctx context.Context) ([]byte, error) {
	ret, err := filer.GetFileContent(file.wfs.filer, string(file.FileId))
	if err == nil {
		return ret.Content, nil
	}
	fmt.Printf("Get file %s content [ERROR] %s\n", file.Name, err)
	return nil, err
}