mirror of https://github.com/Xhofe/alist
24 lines
358 B
Go
24 lines
358 B
Go
package tool
|
|
|
|
import (
|
|
"github.com/alist-org/alist/v3/internal/errs"
|
|
)
|
|
|
|
var (
|
|
Tools = make(map[string]Tool)
|
|
)
|
|
|
|
func RegisterTool(tool Tool) {
|
|
for _, ext := range tool.AcceptedExtensions() {
|
|
Tools[ext] = tool
|
|
}
|
|
}
|
|
|
|
func GetArchiveTool(ext string) (Tool, error) {
|
|
t, ok := Tools[ext]
|
|
if !ok {
|
|
return nil, errs.UnknownArchiveFormat
|
|
}
|
|
return t, nil
|
|
}
|