170 lines
5.4 KiB
Go
170 lines
5.4 KiB
Go
package extension_repo
|
|
|
|
import (
|
|
"seanime/internal/events"
|
|
"seanime/internal/extension"
|
|
"seanime/internal/manga/providers"
|
|
"seanime/internal/onlinestream/providers"
|
|
"seanime/internal/torrents/animetosho"
|
|
"seanime/internal/torrents/nyaa"
|
|
"seanime/internal/torrents/seadex"
|
|
"seanime/internal/util"
|
|
"seanime/internal/util/filecache"
|
|
"testing"
|
|
)
|
|
|
|
func GetMockExtensionRepository(t *testing.T) *Repository {
|
|
logger := util.NewLogger()
|
|
filecacher, _ := filecache.NewCacher(t.TempDir())
|
|
extensionRepository := NewRepository(&NewRepositoryOptions{
|
|
Logger: logger,
|
|
ExtensionDir: t.TempDir(),
|
|
WSEventManager: events.NewMockWSEventManager(logger),
|
|
FileCacher: filecacher,
|
|
})
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "comick",
|
|
Name: "ComicK",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeMangaProvider,
|
|
Author: "Seanime",
|
|
Description: "",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/comick.webp",
|
|
}, manga_providers.NewComicK(logger))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "comick-multi",
|
|
Name: "ComicK (Multi)",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeMangaProvider,
|
|
Author: "Seanime",
|
|
Description: "",
|
|
Lang: "multi",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/comick.webp",
|
|
}, manga_providers.NewComicKMulti(logger))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "mangapill",
|
|
Name: "Mangapill",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeMangaProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/mangapill.png",
|
|
}, manga_providers.NewMangapill(logger))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "mangadex",
|
|
Name: "Mangadex",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeMangaProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/mangadex.png",
|
|
}, manga_providers.NewMangadex(logger))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "manganato",
|
|
Name: "Manganato",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeMangaProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/manganato.png",
|
|
}, manga_providers.NewManganato(logger))
|
|
|
|
//
|
|
// Built-in online stream providers
|
|
//
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "gogoanime",
|
|
Name: "Gogoanime",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeOnlinestreamProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/gogoanime.png",
|
|
}, onlinestream_providers.NewGogoanime(logger))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "zoro",
|
|
Name: "Hianime",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeOnlinestreamProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/hianime.png",
|
|
}, onlinestream_providers.NewZoro(logger))
|
|
|
|
//
|
|
// Built-in torrent providers
|
|
//
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "nyaa",
|
|
Name: "Nyaa",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeAnimeTorrentProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/nyaa.png",
|
|
}, nyaa.NewProvider(logger, nyaa.CategoryAnimeEng))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "nyaa-sukebei",
|
|
Name: "Nyaa Sukebei",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeAnimeTorrentProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/nyaa.png",
|
|
}, nyaa.NewSukebeiProvider(logger))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "animetosho",
|
|
Name: "AnimeTosho",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeAnimeTorrentProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/animetosho.png",
|
|
}, animetosho.NewProvider(logger))
|
|
|
|
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "seadex",
|
|
Name: "SeaDex",
|
|
Version: "",
|
|
ManifestURI: "builtin",
|
|
Language: extension.LanguageGo,
|
|
Type: extension.TypeAnimeTorrentProvider,
|
|
Author: "Seanime",
|
|
Lang: "en",
|
|
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/seadex.png",
|
|
}, seadex.NewProvider(logger))
|
|
|
|
return extensionRepository
|
|
}
|