/
providers.go
35 lines (28 loc) · 938 Bytes
/
providers.go
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
35
package provider
import (
"github.com/leonidboykov/getmoe"
"github.com/leonidboykov/getmoe/provider/danbooru"
"github.com/leonidboykov/getmoe/provider/gelbooru"
"github.com/leonidboykov/getmoe/provider/moebooru"
"github.com/leonidboykov/getmoe/provider/sankaku"
)
type factory func(getmoe.ProviderConfiguration) getmoe.Provider
func newDanbooru(config getmoe.ProviderConfiguration) getmoe.Provider {
return danbooru.New(config)
}
func newGelbooru(config getmoe.ProviderConfiguration) getmoe.Provider {
return gelbooru.New(config)
}
func newMoebooru(config getmoe.ProviderConfiguration) getmoe.Provider {
return moebooru.New(config)
}
func newSankaku(config getmoe.ProviderConfiguration) getmoe.Provider {
return sankaku.New(config)
}
// Providers is a list of avalilable providers
var Providers = map[string]factory{
"danbooru": newDanbooru,
"gelbooru": newGelbooru,
"moebooru": newMoebooru,
"sankaku": newSankaku,
}