mirror of
https://github.com/lampame/lampac-ukraine.git
synced 2026-04-16 09:22:21 +00:00
51 lines
2.2 KiB
C#
51 lines
2.2 KiB
C#
using Microsoft.AspNetCore.Http;
|
||
using Microsoft.Extensions.Caching.Memory;
|
||
using Shared.Models;
|
||
using Shared.Models.Base;
|
||
using Shared.Models.Module;
|
||
using System.Collections.Generic;
|
||
|
||
namespace Unimay
|
||
{
|
||
public class OnlineApi
|
||
{
|
||
public static List<(string name, string url, string plugin, int index)> Invoke(
|
||
HttpContext httpContext,
|
||
IMemoryCache memoryCache,
|
||
RequestModel requestInfo,
|
||
string host,
|
||
OnlineEventsModel args)
|
||
{
|
||
long.TryParse(args.id, out long tmdbid);
|
||
return Events(host, tmdbid, args.imdb_id, args.kinopoisk_id, args.title, args.original_title, args.original_language, args.year, args.source, args.serial, args.account_email);
|
||
}
|
||
|
||
public static List<(string name, string url, string plugin, int index)> Events(string host, long id, string imdb_id, long kinopoisk_id, string title, string original_title, string original_language, int year, string source, int serial, string account_email)
|
||
{
|
||
var online = new List<(string name, string url, string plugin, int index)>();
|
||
|
||
var init = ModInit.Unimay;
|
||
|
||
// Визначення isAnime згідно стандарту Lampac (Deepwiki):
|
||
// isanime = true якщо original_language == "ja" або "zh"
|
||
bool hasLang = !string.IsNullOrEmpty(original_language);
|
||
bool isanime = hasLang && (original_language == "ja" || original_language == "zh");
|
||
|
||
// Unimay — аніме-провайдер. Додаємо якщо:
|
||
// - загальний пошук (serial == -1), або
|
||
// - контент є аніме (isanime), або
|
||
// - мова невідома (немає original_language)
|
||
if (init.enable && !init.rip && (serial == -1 || isanime || !hasLang))
|
||
{
|
||
string url = init.overridehost;
|
||
if (string.IsNullOrEmpty(url) || UpdateService.IsDisconnected())
|
||
url = $"{host}/unimay";
|
||
|
||
online.Add((init.displayname, url, "unimay", init.displayindex));
|
||
}
|
||
|
||
return online;
|
||
}
|
||
}
|
||
}
|