Giter Site home page Giter Site logo

jellyfin-plugin-kinopoisk's People

Contributors

dependabot[bot] avatar kapustkin avatar linfor avatar skrashevich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jellyfin-plugin-kinopoisk's Issues

No info from kinopoisk, used personal api key, plugin ver 10.9

[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"}

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[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)

Error in "КиноПоиск" code 200 from Kinopoisk API

[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, IReadOnlyDictionary2 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, Nullable1 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, Func2 factory)
at Jellyfin.Plugin.Kinopoisk.MetadataProviders.BaseVideoMetadataProvider2.GetMetadata(TLookupInfoType info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService2.ExecuteRemoteProviders(MetadataResult1 temp, String logName, TIdType id, IEnumerable1 providers, CancellationToken cancellationToken)

Webhook notification/ id variable

Как можно использовать плагин для отправки через webhook id с Кинопоиска?
Имеется настройка в webhook notification с использованием
"Provider_tmdb": "{{Provider_tmdb}}"

Как это можно переделать под плагин Кинопоиск?

Или как можно получить переменную kinopoisk id со значением?

Error: Unmatched value was OPERATOR

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

Cant find any titles from KinoPoisk

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, но плагин не увиделся. Перезагрузка сервера не помогла.

Регистр в жанрах

Как можно сделать чтобы жанры писались с заглавной буквы ?
Даже если добавить свой то он будет с маленькой буквы

Если фильм не проиндексирован через плагин то жанр пишется с большой буквы

Kinopoisk Статус: Malfunctioned

Не могут загрузиться несколько 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()

Ошибка в значении VOICE_DIRECTOR

Не удается обновить метаданные некоторых фильмов/сериалов. В логах однотипные ошибки. Ругается на значения 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 снято.

URL in Description

Пожалуйста, добавьте ссылку на фильм в Кинопоиск к описанию фильма.
Снимок экрана 2024-04-28 в 16 53 39

Plugin don't work

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

System.Net.Http.HttpRequestException: Network is unreachable (st.kp.yandex.net:443)

[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)

Set limit

KinopoiskUnofficialInfo.ApiClient.ApiException: Слишком много запросов. Лимит 10 запросов в секунду

Необходимо добавить настройку установки лимита запросов. Иначе обновление метаданных встает колом.

Как пользоваться?

Установил плагин.
Вставил токен.
Перезапустил сервер.
Но результатов поиска нет. (Копирую id с кинопоиска) Может что то я делаю не так? Подскажите пожалуйста.

Fails to retreive info in laters jellyfin

[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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.