public static async Task ResetDatabase(Configuration.PluginConfiguration config, IJsonSerializer json, IApplicationPaths appPaths, IFileSystem fileSystem)
        {
            string dataPath       = Path.Combine(appPaths.PluginConfigurationsPath, "MediaBrowser.Channels.BlurN.Data.json");
            string failedDataPath = Path.Combine(appPaths.PluginConfigurationsPath, "MediaBrowser.Channels.BlurN.Failed.json");

            if (fileSystem.FileExists(dataPath))
            {
                json.SerializeToFile((new BlurNItems()).List, dataPath);
            }

            if (fileSystem.FileExists(failedDataPath))
            {
                json.SerializeToFile((new FailedBlurNList()).List, failedDataPath);
            }

            Plugin.DebugLogger("Database reset actualized.");

            return;
        }
        private void ConvertPostersFromW640ToOriginal(Configuration.PluginConfiguration config, string dataPath)
        {
            if (config.ChannelRefreshCount < 3 && _fileSystem.FileExists(dataPath))
            {
                // Convert posters from w640 to original
                var existingData = _json.DeserializeFromFile <List <BlurNItem> >(dataPath);

                if (existingData != null)
                {
                    foreach (BlurNItem blurNItem in existingData.Where(o => o.TmdbId.HasValue))
                    {
                        blurNItem.Poster = blurNItem.Poster.Replace("/w640/", "/original/");
                    }

                    _json.SerializeToFile(existingData, dataPath);
                }

                config.ChannelRefreshCount = 3;
                Plugin.Instance.SaveConfiguration();
            }
        }
        private static List <string> GetGenreExcludeList(Configuration.PluginConfiguration config)
        {
            var excludedList = new List <string>();

            if (!config.Action)
            {
                excludedList.Add("Action");
            }
            if (!config.Adventure)
            {
                excludedList.Add("Adventure");
            }
            if (!config.Animation)
            {
                excludedList.Add("Animation");
            }
            if (!config.Biography)
            {
                excludedList.Add("Biography");
            }
            if (!config.Comedy)
            {
                excludedList.Add("Comedy");
            }
            if (!config.Crime)
            {
                excludedList.Add("Crime");
            }
            if (!config.Drama)
            {
                excludedList.Add("Drama");
            }
            if (!config.Family)
            {
                excludedList.Add("Family");
            }
            if (!config.Fantasy)
            {
                excludedList.Add("Fantasy");
            }
            if (!config.FilmNoir)
            {
                excludedList.Add("Film-Noir");
            }
            if (!config.History)
            {
                excludedList.Add("History");
            }
            if (!config.Horror)
            {
                excludedList.Add("Horror");
            }
            if (!config.Music)
            {
                excludedList.Add("Music");
            }
            if (!config.Musical)
            {
                excludedList.Add("Musical");
            }
            if (!config.Mystery)
            {
                excludedList.Add("Mystery");
            }
            if (!config.Romance)
            {
                excludedList.Add("Romance");
            }
            if (!config.SciFi)
            {
                excludedList.Add("Sci-Fi");
            }
            if (!config.Sport)
            {
                excludedList.Add("Sport");
            }
            if (!config.Thriller)
            {
                excludedList.Add("Thriller");
            }
            if (!config.War)
            {
                excludedList.Add("War");
            }
            if (!config.Western)
            {
                excludedList.Add("Western");
            }
            return(excludedList);
        }