Skip to content

Commit 5c4cd1b

Browse files
authored
feat(strm): support multiple drivers (#510)
1 parent 44f4658 commit 5c4cd1b

File tree

2 files changed

+5
-44
lines changed

2 files changed

+5
-44
lines changed

drivers/strm/driver.go

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -112,18 +112,10 @@ func (d *Strm) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]
112112
}
113113

114114
func (d *Strm) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) {
115-
root, sub := d.getRootAndPath(file.GetPath())
116-
dsts, ok := d.pathMap[root]
117-
if !ok {
118-
return nil, errs.ObjectNotFound
119-
}
120-
for _, dst := range dsts {
121-
link, err := d.link(ctx, dst, sub)
122-
if err == nil {
123-
return link, nil
124-
}
125-
}
126-
return nil, errs.ObjectNotFound
115+
link := d.getLink(ctx, file.GetPath())
116+
return &model.Link{
117+
MFile: model.NewNopMFile(strings.NewReader(link)),
118+
}, nil
127119
}
128120

129121
func (d *Strm) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error {
@@ -150,24 +142,4 @@ func (d *Strm) Put(ctx context.Context, dstDir model.Obj, s model.FileStreamer,
150142
return errors.New("strm Driver cannot put file")
151143
}
152144

153-
func (d *Strm) PutURL(ctx context.Context, dstDir model.Obj, name, url string) error {
154-
return errors.New("strm Driver cannot put file")
155-
}
156-
157-
func (d *Strm) GetArchiveMeta(ctx context.Context, obj model.Obj, args model.ArchiveArgs) (model.ArchiveMeta, error) {
158-
return nil, errs.NotImplement
159-
}
160-
161-
func (d *Strm) ListArchive(ctx context.Context, obj model.Obj, args model.ArchiveInnerArgs) ([]model.Obj, error) {
162-
return nil, errs.NotImplement
163-
}
164-
165-
func (d *Strm) Extract(ctx context.Context, obj model.Obj, args model.ArchiveInnerArgs) (*model.Link, error) {
166-
return nil, errs.NotImplement
167-
}
168-
169-
func (d *Strm) ArchiveDecompress(ctx context.Context, srcObj, dstDir model.Obj, args model.ArchiveDecompressArgs) error {
170-
return errs.NotImplement
171-
}
172-
173145
var _ driver.Driver = (*Strm)(nil)

drivers/strm/util.go

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func (d *Strm) list(ctx context.Context, dst, sub string, args *fs.ListArgs) ([]
111111
Size: size,
112112
Modified: obj.ModTime(),
113113
IsFolder: obj.IsDir(),
114-
Path: stdpath.Join(sub, obj.GetName()),
114+
Path: stdpath.Join(reqPath, obj.GetName()),
115115
}
116116
thumb, ok := model.GetThumb(obj)
117117
if !ok {
@@ -126,17 +126,6 @@ func (d *Strm) list(ctx context.Context, dst, sub string, args *fs.ListArgs) ([]
126126
})
127127
}
128128

129-
func (d *Strm) link(ctx context.Context, dst, sub string) (*model.Link, error) {
130-
reqPath := stdpath.Join(dst, sub)
131-
_, err := fs.Get(ctx, reqPath, &fs.GetArgs{NoLog: true})
132-
if err != nil {
133-
return nil, err
134-
}
135-
return &model.Link{
136-
MFile: model.NewNopMFile(strings.NewReader(d.getLink(ctx, reqPath))),
137-
}, nil
138-
}
139-
140129
func (d *Strm) getLink(ctx context.Context, path string) string {
141130
apiUrl := d.SiteUrl
142131
if len(apiUrl) > 0 {

0 commit comments

Comments
 (0)