node build fixed
This commit is contained in:
263
seanime-2.9.10/internal/core/extensions.go
Normal file
263
seanime-2.9.10/internal/core/extensions.go
Normal file
@@ -0,0 +1,263 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"seanime/internal/extension"
|
||||
"seanime/internal/extension_repo"
|
||||
manga_providers "seanime/internal/manga/providers"
|
||||
onlinestream_providers "seanime/internal/onlinestream/providers"
|
||||
"seanime/internal/torrents/animetosho"
|
||||
"seanime/internal/torrents/nyaa"
|
||||
"seanime/internal/torrents/seadex"
|
||||
"seanime/internal/util"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
func LoadExtensions(extensionRepository *extension_repo.Repository, logger *zerolog.Logger, config *Config) {
|
||||
|
||||
//
|
||||
// Built-in manga providers
|
||||
//
|
||||
|
||||
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: "weebcentral",
|
||||
Name: "WeebCentral",
|
||||
Version: "",
|
||||
ManifestURI: "builtin",
|
||||
Language: extension.LanguageGo,
|
||||
Type: extension.TypeMangaProvider,
|
||||
Author: "Seanime",
|
||||
Lang: "en",
|
||||
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/weebcentral.png",
|
||||
}, manga_providers.NewWeebCentral(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))
|
||||
|
||||
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
||||
ID: manga_providers.LocalProvider,
|
||||
Name: "Local",
|
||||
Version: "",
|
||||
ManifestURI: "builtin",
|
||||
Language: extension.LanguageGo,
|
||||
Type: extension.TypeMangaProvider,
|
||||
Author: "Seanime",
|
||||
Lang: "multi",
|
||||
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/local-manga.png",
|
||||
}, manga_providers.NewLocal(config.Manga.LocalDir, logger))
|
||||
|
||||
//
|
||||
// Built-in online stream providers
|
||||
//
|
||||
|
||||
//extensionRepository.LoadBuiltInOnlinestreamProviderExtension(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.LoadBuiltInOnlinestreamProviderExtension(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))
|
||||
|
||||
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
||||
ID: "animepahe",
|
||||
Name: "Animepahe",
|
||||
Version: "",
|
||||
ManifestURI: "builtin",
|
||||
Language: extension.LanguageTypescript,
|
||||
Type: extension.TypeOnlinestreamProvider,
|
||||
Author: "Seanime",
|
||||
Lang: "en",
|
||||
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/animepahe.png",
|
||||
Payload: onlinestream_providers.AnimepahePayload,
|
||||
}, nil)
|
||||
|
||||
//
|
||||
// Built-in torrent providers
|
||||
//
|
||||
|
||||
nyaaUserConfig := extension.UserConfig{
|
||||
Version: 1,
|
||||
Fields: []extension.ConfigField{
|
||||
{
|
||||
Name: "apiUrl",
|
||||
Label: "API URL",
|
||||
Type: extension.ConfigFieldTypeText,
|
||||
Default: util.Decode("aHR0cHM6Ly9ueWFhLnNpLz9wYWdlPXJzcyZxPSs="),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
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",
|
||||
UserConfig: &nyaaUserConfig,
|
||||
}, nyaa.NewProvider(logger, "anime-eng"))
|
||||
|
||||
extensionRepository.ReloadBuiltInExtension(extension.Extension{
|
||||
ID: "nyaa-non-eng",
|
||||
Name: "Nyaa (Non-English)",
|
||||
Version: "",
|
||||
ManifestURI: "builtin",
|
||||
Language: extension.LanguageGo,
|
||||
Type: extension.TypeAnimeTorrentProvider,
|
||||
Author: "Seanime",
|
||||
Lang: "multi",
|
||||
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/nyaa.png",
|
||||
UserConfig: &nyaaUserConfig,
|
||||
}, nyaa.NewProvider(logger, "anime-non-eng"))
|
||||
|
||||
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",
|
||||
UserConfig: &extension.UserConfig{
|
||||
Version: 1,
|
||||
Fields: []extension.ConfigField{
|
||||
{
|
||||
Name: "apiUrl",
|
||||
Label: "API URL",
|
||||
Type: extension.ConfigFieldTypeText,
|
||||
Default: util.Decode("aHR0cHM6Ly9zdWtlYmVpLm55YWEuc2kvP3BhZ2U9cnNzJnE9Kw=="),
|
||||
},
|
||||
},
|
||||
},
|
||||
}, 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",
|
||||
UserConfig: &extension.UserConfig{
|
||||
Version: 1,
|
||||
Fields: []extension.ConfigField{
|
||||
{
|
||||
Name: "apiUrl",
|
||||
Label: "API URL",
|
||||
Type: extension.ConfigFieldTypeText,
|
||||
Default: util.Decode("aHR0cHM6Ly9yZWxlYXNlcy5tb2UvYXBpL2NvbGxlY3Rpb25zL2VudHJpZXMvcmVjb3Jkcw=="),
|
||||
},
|
||||
},
|
||||
},
|
||||
}, seadex.NewProvider(logger))
|
||||
|
||||
extensionRepository.ReloadExternalExtensions()
|
||||
}
|
||||
|
||||
func (a *App) AddExtensionBankToConsumers() {
|
||||
|
||||
var consumers = []extension.Consumer{
|
||||
a.MangaRepository,
|
||||
a.OnlinestreamRepository,
|
||||
a.TorrentRepository,
|
||||
}
|
||||
|
||||
for _, consumer := range consumers {
|
||||
consumer.InitExtensionBank(a.ExtensionRepository.GetExtensionBank())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user