* feat(archive): multipart support & sevenzip tool * feat(archive): rardecode tool * feat(archive): support decompress multi-selected * fix(archive): decompress response filter internal * feat(archive): support multipart zip * fix: more applicable AcceptedMultipartExtensions interface
22 lines
717 B
Go
22 lines
717 B
Go
package tool
|
|
|
|
import (
|
|
"github.com/alist-org/alist/v3/internal/model"
|
|
"github.com/alist-org/alist/v3/internal/stream"
|
|
"io"
|
|
)
|
|
|
|
type MultipartExtension struct {
|
|
PartFileFormat string
|
|
SecondPartIndex int
|
|
}
|
|
|
|
type Tool interface {
|
|
AcceptedExtensions() []string
|
|
AcceptedMultipartExtensions() map[string]MultipartExtension
|
|
GetMeta(ss []*stream.SeekableStream, args model.ArchiveArgs) (model.ArchiveMeta, error)
|
|
List(ss []*stream.SeekableStream, args model.ArchiveInnerArgs) ([]model.Obj, error)
|
|
Extract(ss []*stream.SeekableStream, args model.ArchiveInnerArgs) (io.ReadCloser, int64, error)
|
|
Decompress(ss []*stream.SeekableStream, outputPath string, args model.ArchiveInnerArgs, up model.UpdateProgress) error
|
|
}
|