void serverStatusTimer_Elapsed(object sender, ElapsedEventArgs e) { try { if (!ServerOnline) { serverStatusTimer.Start(); return; } CL_ServerStatus status = Instance.ShokoServices.GetServerStatus(); HasherQueueCount = status.HashQueueCount; GeneralQueueCount = status.GeneralQueueCount; HasherQueueState = status.HashQueueState; GeneralQueueState = status.GeneralQueueState; IsBanned = status.IsBanned; BanReason = status.BanReason; HasherQueueRunning = !HasherQueueState.ToLower().Contains("pause"); GeneralQueueRunning = !GeneralQueueState.ToLower().Contains("pause"); ServerStatusEventArgs evt = new ServerStatusEventArgs(); evt.BanReason = BanReason; evt.GeneralQueueCount = GeneralQueueCount; evt.GeneralQueueRunning = GeneralQueueRunning; evt.GeneralQueueState = GeneralQueueState; evt.HasherQueueCount = HasherQueueCount; evt.HasherQueueRunning = HasherQueueRunning; evt.HasherQueueState = HasherQueueState; evt.ImagesQueueCount = status.ImagesQueueCount; evt.ImagesQueueRunning = !status.ImagesQueueState.ToLower().Contains("pause"); evt.ImagesQueueState = status.ImagesQueueState; evt.IsBanned = IsBanned; OnServerStatusEvent(evt); //string msg = string.Format("JMM Server Status: {0}/{1} -- {2}/{3}", GeneralQueueState, GeneralQueueCount, HasherQueueState, HasherQueueCount); //BaseConfig.MyAnimeLog.Write(msg); } catch { // ignored } serverStatusTimer.Start(); }
public bool SetupClient() { ServerOnline = false; _shokoservices = null; ImportFolders.Clear(); if (!SettingsAreValid()) { return(false); } try { AnimePluginSettings settings = AnimePluginSettings.Instance; string url = string.Format(@"http://{0}:{1}/", settings.JMMServer_Address, settings.JMMServer_Port); BaseConfig.MyAnimeLog.Write("JMM Server URL: " + url); Dictionary <Type, Type> mappings = new Dictionary <Type, Type>(); //Mappings area. mappings.Add(typeof(CL_AniDB_Anime), typeof(VM_AniDB_Anime)); mappings.Add(typeof(CL_AniDB_Anime_DefaultImage), typeof(VM_AniDB_Anime_DefaultImage)); mappings.Add(typeof(CL_AniDB_AnimeCrossRefs), typeof(VM_AniDB_AnimeCrossRefs)); mappings.Add(typeof(CL_AnimeEpisode_User), typeof(VM_AnimeEpisode_User)); mappings.Add(typeof(CL_AnimeGroup_User), typeof(VM_AnimeGroup_User)); mappings.Add(typeof(CL_AnimeSeries_User), typeof(VM_AnimeSeries_User)); mappings.Add(typeof(CL_BookmarkedAnime), typeof(VM_BookmarkedAnime)); mappings.Add(typeof(CL_GroupFilter), typeof(VM_GroupFilter)); mappings.Add(typeof(MovieDB_Fanart), typeof(VM_MovieDB_Fanart)); mappings.Add(typeof(MovieDB_Poster), typeof(VM_MovieDB_Poster)); mappings.Add(typeof(CL_Recommendation), typeof(VM_Recommendation)); mappings.Add(typeof(Trakt_ImageFanart), typeof(VM_Trakt_ImageFanart)); mappings.Add(typeof(Trakt_ImagePoster), typeof(VM_Trakt_ImagePoster)); mappings.Add(typeof(TvDB_ImageFanart), typeof(VM_TvDB_ImageFanart)); mappings.Add(typeof(TvDB_ImagePoster), typeof(VM_TvDB_ImagePoster)); mappings.Add(typeof(TvDB_ImageWideBanner), typeof(VM_TvDB_ImageWideBanner)); mappings.Add(typeof(CL_VideoDetailed), typeof(VM_VideoDetailed)); mappings.Add(typeof(CL_VideoLocal), typeof(VM_VideoLocal)); _shokoservices = ClientFactory.Create <IShokoServer>( $"http://{settings.JMMServer_Address}:{settings.JMMServer_Port}/", mappings); // try connecting to see if the server is responding CL_ServerStatus status = Instance.ShokoServices.GetServerStatus(); ServerOnline = true; GetServerSettings(); RefreshImportFolders(); BaseConfig.MyAnimeLog.Write("JMM Server Status: " + status.GeneralQueueState); return(true); } catch (Exception ex) { //Utils.ShowErrorMessage(ex); BaseConfig.MyAnimeLog.Write(ex.ToString()); return(false); } }