linfor / jellyfin-plugin-kinopoisk Goto Github PK
View Code? Open in Web Editor NEWFetches metadata from kinopoisk
License: GNU General Public License v3.0
Fetches metadata from kinopoisk
License: GNU General Public License v3.0
[2024-08-15 10:35:29.201 +03:00] [ERR] [71] KinopoiskUnofficialInfo.ApiClient.KinopoiskApiClient: Received non-success result status code 429 from Kinopoisk API, response content is:
{"message":"Rate limit exceeded"}
[2024-08-15 10:35:29.201 +03:00] [ERR] [71] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "КиноПоиск"
HTTP Response:
{"message":"Rate limit exceeded"}
KinopoiskUnofficialInfo.ApiClient.ApiException: Слишком много запросов. Лимит 10 запросов в секунду
Status: 429
Response:
{"message":"Rate limit exceeded"}
at KinopoiskUnofficialInfo.ApiClient.Client.StaffAllAsync(Int32 filmId, CancellationToken cancellationToken)
at KinopoiskUnofficialInfo.ApiClient.KinopoiskApiClient.Invoke[T](Func2 method, Nullable1 ct, String memberName)
at KinopoiskUnofficialInfo.ApiClient.CachedKinopoiskApiClient.<>c__DisplayClass11_01.<b__0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func2 factory)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService2.ExecuteRemoteProviders(MetadataResult1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable1 providers, CancellationToken cancellationToken)
[2024-08-15 10:35:29.222 +03:00] [ERR] [158] KinopoiskUnofficialInfo.ApiClient.KinopoiskApiClient: Received non-success result status code 429 from Kinopoisk API, response content is:
{"message":"Rate limit exceeded"}
[2024-08-15 10:35:29.222 +03:00] [ERR] [158] MediaBrowser.Providers.TV.SeriesMetadataService: Error in "КиноПоиск"
HTTP Response:
{"message":"Rate limit exceeded"}
KinopoiskUnofficialInfo.ApiClient.ApiException: Слишком много запросов. Лимит 10 запросов в секунду
Status: 429
Response:
{"message":"Rate limit exceeded"}
at KinopoiskUnofficialInfo.ApiClient.Client.StaffAllAsync(Int32 filmId, CancellationToken cancellationToken)
at KinopoiskUnofficialInfo.ApiClient.KinopoiskApiClient.Invoke[T](Func2 method, Nullable1 ct, String memberName)
at KinopoiskUnofficialInfo.ApiClient.CachedKinopoiskApiClient.<>c__DisplayClass11_01.<b__0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func2 factory)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService2.ExecuteRemoteProviders(MetadataResult1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable1 providers, CancellationToken cancellationToken)
[2024-08-15 10:35:29.231 +03:00] [ERR] [28] KinopoiskUnofficialInfo.ApiClient.KinopoiskApiClient: Received non-success result status code 429 from Kinopoisk API, response content is:
{"message":"Rate limit exceeded"}
[2024-08-15 10:35:29.231 +03:00] [ERR] [28] MediaBrowser.Providers.TV.SeriesMetadataService: Error in "КиноПоиск"
HTTP Response:
{"message":"Rate limit exceeded"}
HTTP Response:
KinopoiskUnofficialInfo.ApiClient.ApiException: Could not deserialize the response body stream as KinopoiskUnofficialInfo.ApiClient.VideoResponse.
Status: 200
Response:---> Newtonsoft.Json.JsonSerializationException: Error converting value "YANDEX_DISK" to type 'KinopoiskUnofficialInfo.ApiClient.VideoResponse_itemsSite'. Path 'items[2].site', line 1, position 276.
---> System.ArgumentException: Requested value 'YANDEX_DISK' was not found.
at Newtonsoft.Json.Utilities.EnumUtils.ParseEnum(Type enumType, NamingStrategy namingStrategy, String value, Boolean disallowNumber)
at Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
--- End of inner exception stack trace ---
at Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
[2023-11-18 00:48:29.935 +03:00] [ERR] Received non-success result status code 200 from Kinopoisk API, response content is:
[2023-11-18 00:48:29.935 +03:00] [ERR] Error in "КиноПоиск"
HTTP Response:
KinopoiskUnofficialInfo.ApiClient.ApiException: Could not deserialize the response body stream as KinopoiskUnofficialInfo.ApiClient.VideoResponse.
Status: 200
Response:
---> Newtonsoft.Json.JsonSerializationException: Error converting value "YANDEX_DISK" to type 'KinopoiskUnofficialInfo.ApiClient.VideoResponse_itemsSite'. Path 'items[22].site', line 1, position 3111.
---> System.ArgumentException: Requested value 'YANDEX_DISK' was not found.
at Newtonsoft.Json.Utilities.EnumUtils.ParseEnum(Type enumType, NamingStrategy namingStrategy, String value, Boolean disallowNumber)
at Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
--- End of inner exception stack trace ---
at Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)
at KinopoiskUnofficialInfo.ApiClient.Client.ReadObjectResponseAsync[T](HttpResponseMessage response, IReadOnlyDictionary2 headers, CancellationToken cancellationToken) --- End of inner exception stack trace --- at KinopoiskUnofficialInfo.ApiClient.Client.ReadObjectResponseAsync[T](HttpResponseMessage response, IReadOnlyDictionary
2 headers, CancellationToken cancellationToken)
at KinopoiskUnofficialInfo.ApiClient.Client.VideosAsync(Int32 id, CancellationToken cancellationToken)
at KinopoiskUnofficialInfo.ApiClient.KinopoiskApiClient.<>c__DisplayClass10_0.<b__0>d.MoveNext()
--- End of stack trace from previous location ---
at KinopoiskUnofficialInfo.ApiClient.KinopoiskApiClient.Invoke[T](Func2 method, Nullable
1 ct, String memberName)
at KinopoiskUnofficialInfo.ApiClient.CachedKinopoiskApiClient.<>c__DisplayClass11_01.<<TryGetValue>b__0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func
2 factory)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService
2.ExecuteRemoteProviders(MetadataResult1 temp, String logName, TIdType id, IEnumerable
1 providers, CancellationToken cancellationToken)
Как можно использовать плагин для отправки через webhook id с Кинопоиска?
Имеется настройка в webhook notification с использованием
"Provider_tmdb": "{{Provider_tmdb}}"
Как это можно переделать под плагин Кинопоиск?
Или как можно получить переменную kinopoisk id со значением?
2024-05-31 23:57:37.249 +03:00] [INF] [50] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting "/usr/lib/jellyfin-ffmpeg/ffprobe" with args "-analyzeduration 200M -probesize 1G -i file:\"/Media/TV Shows/Travelers (2016)/Season 03/Travelers (2016) - S03E07 - Trevor [WEBRip-1080p][AC3 5.1][XviD].avi\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format"
[2024-05-31 23:57:37.543 +03:00] [ERR] [50] MediaBrowser.Providers.TV.SeriesMetadataService: Error in "КиноПоиск"
System.Runtime.CompilerServices.SwitchExpressionException: Non-exhaustive switch expression failed to match its input.
Unmatched value was OPERATOR.
at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
at Jellyfin.Plugin.Kinopoisk.ApiModelExtensions.ToPersonType(StaffResponseProfessionKey src)
at Jellyfin.Plugin.Kinopoisk.ApiModelExtensions.ToPersonInfo(StaffResponse src)
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToArray()
at Jellyfin.Plugin.Kinopoisk.ApiModelExtensions.ToPersonInfos(ICollection`1 src)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider`2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[2024-05-31 23:57:37.717 +03:00] [WRN] [48] MediaBrowser.XbmcMetadata.Providers.SeriesNfoProvider: Trailer URL uses a deprecated format : "plugin://plugin.video.youtube/?action=play_video&videoid=2UpYmwGkbdc". Using "plugin://plugin.video.youtube/play/?video_id=2UpYmwGkbdc" instead is advised.
Версия сервера: linuxserver/jellyfin:10.9.2
I upgraded Jellyfin to Version: 10.8.8, did not help.
I tried using kp-640719 in foldername, did not work.
I tried searching for the series using the "Identify" in jellyfin, and typing in the id : 640719, did not find any series.
I tried searching for "Modern Marvels", and only found the other providers, not KinoPoisk or КиноПоиск
What am I doing wrong..? Does it not work on english systems..?
На сайте самого jellyfin написано все плагины можно установить в папку /var/lib/jellyfin/plugins. У меня такой папки не было. Я её создал, загрузил туда jellyfin-plugin-kinopoisk_10.6.0.2.zip, установил доступ для пользователя и группы jellyfin, но плагин не увиделся. Перезагрузка сервера не помогла.
Как можно сделать чтобы жанры писались с заглавной буквы ?
Даже если добавить свой то он будет с маленькой буквы
Если фильм не проиндексирован через плагин то жанр пишется с большой буквы
Не могут загрузиться несколько dll на свежих версиях jelly, плагин не работает
Failed to load assembly "/var/lib/jellyfin/plugins/РљРёРЅРѕРџРѕРёСЃРє_10.7.5.1/Newtonsoft.Json.dll". Disabling plugin.
System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'.
at System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(IntPtr ptrNativeAssemblyLoadContext, String ilPath, String niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Emby.Server.Implementations.Plugins.PluginManager.LoadAssemblies()+MoveNext()
[2021-07-28 17:26:22.970 +03:00] [ERR] Failed to load assembly "/var/lib/jellyfin/plugins/РљРёРЅРѕРџРѕРёСЃРє_10.7.5.1/KinopoiskUnofficialInfo.ApiClient.dll". Disabling plugin.
System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. Could not find or load a specific file. (0x80131621)
File name: 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
---> System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'.
at System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(IntPtr ptrNativeAssemblyLoadContext, String ilPath, String niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at System.Reflection.Assembly.LoadFromResolveHandler(Object sender, ResolveEventArgs args)
at System.Runtime.Loader.AssemblyLoadContext.InvokeResolveEvent(ResolveEventHandler eventHandler, RuntimeAssembly assembly, String name)
at System.Runtime.Loader.AssemblyLoadContext.OnAssemblyResolve(RuntimeAssembly assembly, String assemblyFullName)
at System.Reflection.RuntimeAssembly.GetExportedTypes()
at Emby.Server.Implementations.Plugins.PluginManager.LoadAssemblies()+MoveNext()
[2021-07-28 17:26:22.971 +03:00] [ERR] Failed to load assembly "/var/lib/jellyfin/plugins/РљРёРЅРѕРџРѕРёСЃРє_10.7.5.1/Jellyfin.Plugin.Kinopoisk.dll". Unknown exception was thrown. Disabling plugin.
System.IO.FileNotFoundException: Could not load file or assembly 'MediaBrowser.Common, Version=10.7.6.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
File name: 'MediaBrowser.Common, Version=10.7.6.0, Culture=neutral, PublicKeyToken=null'
at System.Reflection.RuntimeAssembly.GetExportedTypes()
at Emby.Server.Implementations.Plugins.PluginManager.LoadAssemblies()+MoveNext()
Не удается обновить метаданные некоторых фильмов/сериалов. В логах однотипные ошибки. Ругается на значения DESIGN, OPERATOR, VOICE_DIRECTOR.
[2024-05-16 22:52:00.493 +00:00] [INF] [24] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting "/usr/lib/jellyfin-ffmpeg/ffprobe" with args "-analyzeduration 200M -probesize 1G -i file:\"/media/Anime/Mononoke-hime 1997 kp441.mkv\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format"
[2024-05-16 22:52:01.329 +00:00] [ERR] [3] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "КиноПоиск"
System.Runtime.CompilerServices.SwitchExpressionException: Non-exhaustive switch expression failed to match its input.
Unmatched value was VOICE_DIRECTOR.
at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
at Jellyfin.Plugin.Kinopoisk.ApiModelExtensions.ToPersonType(StaffResponseProfessionKey src)
at Jellyfin.Plugin.Kinopoisk.ApiModelExtensions.ToPersonInfo(StaffResponse src)
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToArray()
at Jellyfin.Plugin.Kinopoisk.ApiModelExtensions.ToPersonInfos(ICollection`1 src)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider`2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
Как правильно именовать файл для автосопоставления по КП ?
Сейчас у меня все файлы вида "ИМЯ [ENG NAME] (год) [resolution] [codec] [lang] (kinopoisk-id)
например:
Кровь машин [Blood Machines] (2019) [1080p] [x264] [2ru, en] (kp-1178053)
Возможно ли научить плагин автосопоставлять такий файлы ?
Обновился до последней версии через офф репозиторий на jellyfin. После обновления плагина ( все равно показывает версию 1.0.0.0) не подтягивает описание с КиноПоиска да и вообще метаданные не обновляются. Стояла какая то старая версия, все работало. Ограничение на api снято.
I tried Movie and TV Series and both won't recognize when i put the ID in Identify.
Jellyfin version 10.6.4
Added plugin from jellyfin-plugin-kinopoisk_10.6.0.2.zip, i set API key in settings and still won't pull any info
[2024-06-01 18:01:32.409 +03:00] [ERR] [75] MediaBrowser.Providers.TV.SeriesMetadataService: Error in "КиноПоиск"
System.Net.Http.HttpRequestException: Network is unreachable (st.kp.yandex.net:443)
---> System.Net.Sockets.SocketException (101): Network is unreachable
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Jellyfin.Plugin.Kinopoisk.RemoteImageUrlSanitizer.SanitizeRemoteImageUrl(String url)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider`2.<>c__DisplayClass7_0.<<SanitizeEmptyImagePersonInfos>b__1>d.MoveNext()
--- End of stack trace from previous location ---
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider`2.SanitizeEmptyImagePersonInfos(IEnumerable`1 images)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider`2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
После добавления репозитория отсутсвует в каталоге Jellyfin 10.8.8
https://github.com/jellyfin/jellyfin/releases/tag/v10.8.8
KinopoiskUnofficialInfo.ApiClient.ApiException: Слишком много запросов. Лимит 10 запросов в секунду
Необходимо добавить настройку установки лимита запросов. Иначе обновление метаданных встает колом.
Установил плагин.
Вставил токен.
Перезапустил сервер.
Но результатов поиска нет. (Копирую id с кинопоиска) Может что то я делаю не так? Подскажите пожалуйста.
[00:39:55] [ERR] [77] MediaBrowser.Providers.TV.SeriesMetadataService: Error in КиноПоиск
System.Text.Json.JsonException: The JSON value could not be converted to System.Int32. Path: $.rating.ratingFilmCriticsVoteCount | LineNumber: 0 | BytePositionInLine: 5106.
---> System.InvalidOperationException: Cannot get the value of a token type 'Null' as a number.
at System.Text.Json.Utf8JsonReader.TryGetInt32(Int32& value)
at System.Text.Json.Utf8JsonReader.GetInt32()
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
--- End of inner exception stack trace ---
at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& state, JsonConverter converterBase)
at System.Text.Json.JsonSerializer.ReadAsync[TValue](Stream utf8Json, Type returnType, JsonSerializerOptions options, CancellationToken cancellationToken)
at Jellyfin.Plugin.Kinopoisk.KinopoiskApiProxy.GetAsync[T](Uri uri, CancellationToken cancellationToken)
at Jellyfin.Plugin.Kinopoisk.KinopoiskApiProxy.GetSingleFilm(Int32 filmId, Nullable`1 cancellationToken)
at Jellyfin.Plugin.Kinopoisk.KinopoiskVideoBaseProvider`2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[00:39:55] [ERR] [77] MediaBrowser.Providers.TV.SeriesMetadataService: Error in КиноПоиск
I tried to search this https://www.kinopoisk.ru/series/842168/ by id and cant find it, Happens in lot of series. Fine in movies.
Jellyfin version 10.7.1
Unrad server : Linux
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.