From 9f3eef2cce1cd88d49f9f249c82fdc47cc344744 Mon Sep 17 00:00:00 2001 From: Alexander Rufenach Date: Fri, 4 Jun 2021 02:00:00 -0400 Subject: [PATCH] Cleaned up deps and removed legacy code --- Jellyfin.Plugin.AnilistSync/API/AnilistApi.cs | 8 +- Jellyfin.Plugin.AnilistSync/API/ApiModel.cs | 87 ++++++------------- .../Configuration/PluginConfiguration.cs | 18 ---- Jellyfin.Plugin.AnilistSync/Plugin.cs | 12 +-- .../Services/PlaybackScrobbler.cs | 2 +- 5 files changed, 31 insertions(+), 96 deletions(-) diff --git a/Jellyfin.Plugin.AnilistSync/API/AnilistApi.cs b/Jellyfin.Plugin.AnilistSync/API/AnilistApi.cs index c103fc1..680d7b6 100644 --- a/Jellyfin.Plugin.AnilistSync/API/AnilistApi.cs +++ b/Jellyfin.Plugin.AnilistSync/API/AnilistApi.cs @@ -1,20 +1,14 @@ using System; -using System.Collections.Generic; -using System.IO; using System.Net.Http; using System.Net.Http.Headers; using System.Net.Http.Json; -using System.Net.Mime; -using System.Linq; using System.Text; using System.Text.Json; using System.Threading.Tasks; using MediaBrowser.Common.Json; using MediaBrowser.Common.Net; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Model.Dto; using Microsoft.Extensions.Logging; +using Jellyfin.Plugin.AnilistSync.API.Exceptions; namespace Jellyfin.Plugin.AnilistSync.API { diff --git a/Jellyfin.Plugin.AnilistSync/API/ApiModel.cs b/Jellyfin.Plugin.AnilistSync/API/ApiModel.cs index a76a787..ffb3d45 100644 --- a/Jellyfin.Plugin.AnilistSync/API/ApiModel.cs +++ b/Jellyfin.Plugin.AnilistSync/API/ApiModel.cs @@ -1,9 +1,17 @@ -using System; -using System.Collections.Generic; -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; namespace Jellyfin.Plugin.AnilistSync.API { + public enum MediaListStatus + { + CURRENT, + PLANNING, + COMPLETED, + DROPPED, + PAUSED, + REPEATING + } + public class RootObject { [JsonPropertyName("data")] @@ -43,22 +51,7 @@ namespace Jellyfin.Plugin.AnilistSync.API public int? Line { get; set; } [JsonPropertyName("column")] - public int? column { get; set; } - } - - public class Media - { - [JsonPropertyName("episodes")] - public int? Episodes { get; set; } - } - - public class User - { - [JsonPropertyName("id")] - public int? Id { get; set; } - - [JsonPropertyName("name")] - public string? Name { get; set; } + public int? Column { get; set; } } public class ListEntry @@ -76,6 +69,21 @@ namespace Jellyfin.Plugin.AnilistSync.API public MediaListStatus? Status { get; set; } } + public class Media + { + [JsonPropertyName("episodes")] + public int? Episodes { get; set; } + } + + public class User + { + [JsonPropertyName("id")] + public int? Id { get; set; } + + [JsonPropertyName("name")] + public string? Name { get; set; } + } + public class GraphQLBody { [JsonPropertyName("query")] @@ -103,16 +111,6 @@ namespace Jellyfin.Plugin.AnilistSync.API public string? Code { get; set; } } - public enum MediaListStatus - { - CURRENT, - PLANNING, - COMPLETED, - DROPPED, - PAUSED, - REPEATING - } - public class CodeResponse { [JsonPropertyName("token_type")] @@ -127,35 +125,4 @@ namespace Jellyfin.Plugin.AnilistSync.API [JsonPropertyName("refresh_token")] public string? RefreshToken { get; set; } } - - - public class AnilistAPIException : Exception - { - public int? statusCode; - public Location[]? locations; - - public AnilistAPIException() - { - - } - - public AnilistAPIException(string message) - : base(message) - { - - } - - public AnilistAPIException(string message, Exception inner) - : base(message, inner) - { - - } - - public AnilistAPIException(string? message, int? statusCode, Location[]? locations) - : base(message) - { - this.statusCode = statusCode; - this.locations = locations; - } - } } diff --git a/Jellyfin.Plugin.AnilistSync/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.AnilistSync/Configuration/PluginConfiguration.cs index c2c13dd..48892d1 100644 --- a/Jellyfin.Plugin.AnilistSync/Configuration/PluginConfiguration.cs +++ b/Jellyfin.Plugin.AnilistSync/Configuration/PluginConfiguration.cs @@ -4,24 +4,6 @@ using MediaBrowser.Model.Plugins; namespace Jellyfin.Plugin.AnilistSync.Configuration { - public enum TitlePreferenceType - { - /// - /// Use titles in the local metadata language. - /// - Localized, - - /// - /// Use titles in Japanese. - /// - Japanese, - - /// - /// Use titles in Japanese romaji. - /// - JapaneseRomaji - } - /// /// Class needed to create a Plugin and configure it. /// diff --git a/Jellyfin.Plugin.AnilistSync/Plugin.cs b/Jellyfin.Plugin.AnilistSync/Plugin.cs index f74a830..4b0121b 100644 --- a/Jellyfin.Plugin.AnilistSync/Plugin.cs +++ b/Jellyfin.Plugin.AnilistSync/Plugin.cs @@ -17,24 +17,16 @@ namespace Jellyfin.Plugin.AnilistSync public override string Name => "AnilistSync"; public override Guid Id => Guid.Parse("18c2a8ea-afa0-4a0b-aa94-072b492ab80b"); public override string Description => "Jellyfin plugin to scrobble to Anilist"; - IHttpClientFactory _httpClientFactory; + public Version version = new Version("2.2.0.0"); - public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer, IHttpClientFactory htppClientFactory) + public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer) : base(applicationPaths, xmlSerializer) { Instance = this; - _httpClientFactory = htppClientFactory; } public static Plugin? Instance { get; private set; } - public HttpClient GetHttpClient() { - var httpClient = _httpClientFactory.CreateClient(NamedClient.Default); - httpClient.DefaultRequestHeaders.UserAgent.Add( - new ProductInfoHeaderValue(Name, Version.ToString())); - - return httpClient; - } public IEnumerable GetPages() { diff --git a/Jellyfin.Plugin.AnilistSync/Services/PlaybackScrobbler.cs b/Jellyfin.Plugin.AnilistSync/Services/PlaybackScrobbler.cs index 053dd6d..4af6893 100644 --- a/Jellyfin.Plugin.AnilistSync/Services/PlaybackScrobbler.cs +++ b/Jellyfin.Plugin.AnilistSync/Services/PlaybackScrobbler.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Jellyfin.Plugin.AnilistSync.API; +using Jellyfin.Plugin.AnilistSync.API.Exceptions; using Jellyfin.Plugin.AnilistSync.Configuration; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; @@ -10,7 +11,6 @@ using MediaBrowser.Model.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; -using MediaBrowser.Model.Dto; using Microsoft.Extensions.Logging; namespace Jellyfin.Plugin.AnilistSync.Services