mirror of
https://github.com/HChaZZY/alist.git
synced 2025-12-23 18:47:03 +08:00
33
internal/offline_download/tools.go
Normal file
33
internal/offline_download/tools.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package offline_download
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/alist-org/alist/v3/pkg/task"
|
||||
)
|
||||
|
||||
var (
|
||||
Tools = make(ToolsManager)
|
||||
DownTaskManager = task.NewTaskManager[string](3)
|
||||
)
|
||||
|
||||
type ToolsManager map[string]Tool
|
||||
|
||||
func (t ToolsManager) Get(name string) (Tool, error) {
|
||||
if tool, ok := t[name]; ok {
|
||||
return tool, nil
|
||||
}
|
||||
return nil, fmt.Errorf("tool %s not found", name)
|
||||
}
|
||||
|
||||
func (t ToolsManager) Add(name string, tool Tool) {
|
||||
t[name] = tool
|
||||
}
|
||||
|
||||
func (t ToolsManager) Names() []string {
|
||||
names := make([]string, 0, len(t))
|
||||
for name := range t {
|
||||
names = append(names, name)
|
||||
}
|
||||
return names
|
||||
}
|
||||
Reference in New Issue
Block a user