public static void UpdateSchema() { VersionsRepository repVersions = new VersionsRepository(); Versions ver = repVersions.GetByVersionType(Constants.DatabaseTypeKey); if (ver == null) return; int versionNumber = 0; int.TryParse(ver.VersionValue, out versionNumber); try { UpdateSchema_002(versionNumber); UpdateSchema_003(versionNumber); UpdateSchema_004(versionNumber); UpdateSchema_005(versionNumber); UpdateSchema_006(versionNumber); UpdateSchema_007(versionNumber); UpdateSchema_008(versionNumber); UpdateSchema_009(versionNumber); UpdateSchema_010(versionNumber); UpdateSchema_011(versionNumber); UpdateSchema_012(versionNumber); UpdateSchema_013(versionNumber); UpdateSchema_014(versionNumber); UpdateSchema_015(versionNumber); UpdateSchema_016(versionNumber); UpdateSchema_017(versionNumber); UpdateSchema_018(versionNumber); UpdateSchema_019(versionNumber); UpdateSchema_020(versionNumber); UpdateSchema_021(versionNumber); UpdateSchema_022(versionNumber); UpdateSchema_023(versionNumber); UpdateSchema_024(versionNumber); UpdateSchema_025(versionNumber); UpdateSchema_026(versionNumber); UpdateSchema_027(versionNumber); UpdateSchema_028(versionNumber); UpdateSchema_029(versionNumber); UpdateSchema_030(versionNumber); UpdateSchema_031(versionNumber); UpdateSchema_032(versionNumber); UpdateSchema_033(versionNumber); UpdateSchema_034(versionNumber); UpdateSchema_035(versionNumber); UpdateSchema_036(versionNumber); UpdateSchema_037(versionNumber); UpdateSchema_038(versionNumber); UpdateSchema_039(versionNumber); UpdateSchema_040(versionNumber); UpdateSchema_041(versionNumber); } catch (Exception ex) { logger.ErrorException("Error updating schema: " + ex.ToString(), ex); } }
public static void CreateInitialSchema() { SQLiteConnection myConn = new SQLiteConnection(GetConnectionString()); myConn.Open(); string cmd = string.Format("SELECT count(*) as NumTables FROM sqlite_master WHERE name='Versions'"); SQLiteCommand sqCommandCheck = new SQLiteCommand(cmd); sqCommandCheck.Connection = myConn; long count = long.Parse(sqCommandCheck.ExecuteScalar().ToString()); // if the Versions already exists, it means we have done this already if (count > 0) return; //Create all the commands to be executed List<string> commands = new List<string>(); commands.AddRange(CreateTableString_Versions()); commands.AddRange(CreateTableString_AniDB_Anime()); commands.AddRange(CreateTableString_AniDB_Anime_Category()); commands.AddRange(CreateTableString_AniDB_Anime_Character()); commands.AddRange(CreateTableString_AniDB_Anime_Relation()); commands.AddRange(CreateTableString_AniDB_Anime_Review()); commands.AddRange(CreateTableString_AniDB_Anime_Similar()); commands.AddRange(CreateTableString_AniDB_Anime_Tag()); commands.AddRange(CreateTableString_AniDB_Anime_Title()); commands.AddRange(CreateTableString_AniDB_Category()); commands.AddRange(CreateTableString_AniDB_Character()); commands.AddRange(CreateTableString_AniDB_Character_Seiyuu()); commands.AddRange(CreateTableString_AniDB_Seiyuu()); commands.AddRange(CreateTableString_AniDB_Episode()); commands.AddRange(CreateTableString_AniDB_File()); commands.AddRange(CreateTableString_AniDB_GroupStatus()); commands.AddRange(CreateTableString_AniDB_ReleaseGroup()); commands.AddRange(CreateTableString_AniDB_Review()); commands.AddRange(CreateTableString_AniDB_Tag()); commands.AddRange(CreateTableString_AnimeEpisode()); commands.AddRange(CreateTableString_AnimeGroup()); commands.AddRange(CreateTableString_AnimeSeries()); commands.AddRange(CreateTableString_CommandRequest()); commands.AddRange(CreateTableString_CrossRef_AniDB_Other()); commands.AddRange(CreateTableString_CrossRef_AniDB_TvDB()); commands.AddRange(CreateTableString_CrossRef_File_Episode()); commands.AddRange(CreateTableString_CrossRef_Languages_AniDB_File()); commands.AddRange(CreateTableString_CrossRef_Subtitles_AniDB_File()); commands.AddRange(CreateTableString_FileNameHash()); commands.AddRange(CreateTableString_Language()); commands.AddRange(CreateTableString_ImportFolder()); commands.AddRange(CreateTableString_ScheduledUpdate()); commands.AddRange(CreateTableString_VideoInfo()); commands.AddRange(CreateTableString_VideoLocal()); commands.AddRange(CreateTableString_DuplicateFile()); commands.AddRange(CreateTableString_GroupFilter()); commands.AddRange(CreateTableString_GroupFilterCondition()); commands.AddRange(CreateTableString_AniDB_Vote()); commands.AddRange(CreateTableString_TvDB_ImageFanart()); commands.AddRange(CreateTableString_TvDB_ImageWideBanner()); commands.AddRange(CreateTableString_TvDB_ImagePoster()); commands.AddRange(CreateTableString_TvDB_Episode()); commands.AddRange(CreateTableString_TvDB_Series()); commands.AddRange(CreateTableString_AniDB_Anime_DefaultImage()); commands.AddRange(CreateTableString_MovieDB_Movie()); commands.AddRange(CreateTableString_MovieDB_Poster()); commands.AddRange(CreateTableString_MovieDB_Fanart()); commands.AddRange(CreateTableString_JMMUser()); commands.AddRange(CreateTableString_Trakt_Episode()); commands.AddRange(CreateTableString_Trakt_ImagePoster()); commands.AddRange(CreateTableString_Trakt_ImageFanart()); commands.AddRange(CreateTableString_Trakt_Show()); commands.AddRange(CreateTableString_Trakt_Season()); commands.AddRange(CreateTableString_CrossRef_AniDB_Trakt()); commands.AddRange(CreateTableString_AnimeEpisode_User()); commands.AddRange(CreateTableString_AnimeSeries_User()); commands.AddRange(CreateTableString_AnimeGroup_User()); commands.AddRange(CreateTableString_VideoLocal_User()); foreach (string cmdTable in commands) { SQLiteCommand sqCommand = new SQLiteCommand(cmdTable); sqCommand.Connection = myConn; sqCommand.ExecuteNonQuery(); } myConn.Close(); logger.Trace("Creating version..."); Versions ver1 = new Versions(); ver1.VersionType = Constants.DatabaseTypeKey; ver1.VersionValue = "1"; VersionsRepository repVer = new VersionsRepository(); repVer.Save(ver1); }
private static void UpdateDatabaseVersion(int versionNumber) { VersionsRepository repVersions = new VersionsRepository(); Versions ver = repVersions.GetByVersionType(Constants.DatabaseTypeKey); if (ver == null) return; ver.VersionValue = versionNumber.ToString(); repVersions.Save(ver); }
public static void CreateInitialSchema() { int count = 0; //string sql = string.Format("select count(VERSIONS) from INFORMATION_SCHEMA where TABLE_SCHEMA = '{0}' and TABLE_NAME = 'VERSIONS' group by TABLE_NAME", // ServerSettings.MySQL_SchemaName); string sql = string.Format("select count(*) from information_schema.tables where table_schema='{0}' and table_name = 'VERSIONS'", ServerSettings.MySQL_SchemaName); logger.Trace(sql); using (MySqlConnection conn = new MySqlConnection(GetConnectionString())) { conn.Open(); MySqlCommand cmd = new MySqlCommand(sql, conn); object result = cmd.ExecuteScalar(); count = int.Parse(result.ToString()); } // if the Versions already exists, it means we have done this already if (count > 0) { logger.Trace("Initial schema already exists"); return; } logger.Trace("Initial schema doesn't exists, creating now..."); //Create all the commands to be executed List<string> commands = new List<string>(); commands.AddRange(CreateTableString_Versions()); commands.AddRange(CreateTableString_AniDB_Anime()); commands.AddRange(CreateTableString_AniDB_Anime_Category()); commands.AddRange(CreateTableString_AniDB_Anime_Character()); commands.AddRange(CreateTableString_AniDB_Anime_Relation()); commands.AddRange(CreateTableString_AniDB_Anime_Review()); commands.AddRange(CreateTableString_AniDB_Anime_Similar()); commands.AddRange(CreateTableString_AniDB_Anime_Tag()); commands.AddRange(CreateTableString_AniDB_Anime_Title()); commands.AddRange(CreateTableString_AniDB_Category()); commands.AddRange(CreateTableString_AniDB_Character()); commands.AddRange(CreateTableString_AniDB_Character_Seiyuu()); commands.AddRange(CreateTableString_AniDB_Seiyuu()); commands.AddRange(CreateTableString_AniDB_Episode()); commands.AddRange(CreateTableString_AniDB_File()); commands.AddRange(CreateTableString_AniDB_GroupStatus()); commands.AddRange(CreateTableString_AniDB_ReleaseGroup()); commands.AddRange(CreateTableString_AniDB_Review()); commands.AddRange(CreateTableString_AniDB_Tag()); commands.AddRange(CreateTableString_AnimeEpisode()); commands.AddRange(CreateTableString_AnimeEpisode_User()); commands.AddRange(CreateTableString_AnimeGroup()); commands.AddRange(CreateTableString_AnimeSeries()); commands.AddRange(CreateTableString_AnimeSeries_User()); commands.AddRange(CreateTableString_AnimeGroup_User()); commands.AddRange(CreateTableString_VideoLocal()); commands.AddRange(CreateTableString_VideoLocal_User()); commands.AddRange(CreateTableString_CommandRequest()); commands.AddRange(CreateTableString_CrossRef_AniDB_Other()); commands.AddRange(CreateTableString_CrossRef_AniDB_TvDB()); commands.AddRange(CreateTableString_CrossRef_File_Episode()); commands.AddRange(CreateTableString_CrossRef_Languages_AniDB_File()); commands.AddRange(CreateTableString_CrossRef_Subtitles_AniDB_File()); commands.AddRange(CreateTableString_FileNameHash()); commands.AddRange(CreateTableString_Language()); commands.AddRange(CreateTableString_ImportFolder()); commands.AddRange(CreateTableString_ScheduledUpdate()); commands.AddRange(CreateTableString_VideoInfo()); commands.AddRange(CreateTableString_DuplicateFile()); commands.AddRange(CreateTableString_GroupFilter()); commands.AddRange(CreateTableString_GroupFilterCondition()); commands.AddRange(CreateTableString_AniDB_Vote()); commands.AddRange(CreateTableString_TvDB_ImageFanart()); commands.AddRange(CreateTableString_TvDB_ImageWideBanner()); commands.AddRange(CreateTableString_TvDB_ImagePoster()); commands.AddRange(CreateTableString_TvDB_Episode()); commands.AddRange(CreateTableString_TvDB_Series()); commands.AddRange(CreateTableString_AniDB_Anime_DefaultImage()); commands.AddRange(CreateTableString_MovieDB_Movie()); commands.AddRange(CreateTableString_MovieDB_Poster()); commands.AddRange(CreateTableString_MovieDB_Fanart()); commands.AddRange(CreateTableString_JMMUser()); commands.AddRange(CreateTableString_Trakt_Episode()); commands.AddRange(CreateTableString_Trakt_ImagePoster()); commands.AddRange(CreateTableString_Trakt_ImageFanart()); commands.AddRange(CreateTableString_Trakt_Show()); commands.AddRange(CreateTableString_Trakt_Season()); commands.AddRange(CreateTableString_CrossRef_AniDB_Trakt()); using (MySqlConnection conn = new MySqlConnection(GetConnectionString())) { conn.Open(); foreach (string cmdTable in commands) { using (MySqlCommand command = new MySqlCommand(cmdTable, conn)) { try { command.ExecuteNonQuery(); } catch (Exception ex) { logger.Error(cmdTable + " - " + ex.Message); } } } } Console.WriteLine("Creating version..."); Versions ver1 = new Versions(); ver1.VersionType = Constants.DatabaseTypeKey; ver1.VersionValue = "1"; VersionsRepository repVer = new VersionsRepository(); repVer.Save(ver1); }
public static void CreateInitialSchema() { int count = 0; string cmd = string.Format("Select count(*) from sysobjects where name = 'Versions'"); using (SqlConnection tmpConn = new SqlConnection(string.Format("Server={0};User ID={1};Password={2};database={3}", ServerSettings.DatabaseServer, ServerSettings.DatabaseUsername, ServerSettings.DatabasePassword, ServerSettings.DatabaseName))) { using (SqlCommand command = new SqlCommand(cmd, tmpConn)) { tmpConn.Open(); object result = command.ExecuteScalar(); count = int.Parse(result.ToString()); } } // if the Versions already exists, it means we have done this already if (count > 0) return; //Create all the commands to be executed List<string> commands = new List<string>(); commands.AddRange(CreateTableString_Versions()); commands.AddRange(CreateTableString_AniDB_Anime()); commands.AddRange(CreateTableString_AniDB_Anime_Category()); commands.AddRange(CreateTableString_AniDB_Anime_Character()); commands.AddRange(CreateTableString_AniDB_Anime_Relation()); commands.AddRange(CreateTableString_AniDB_Anime_Review()); commands.AddRange(CreateTableString_AniDB_Anime_Similar()); commands.AddRange(CreateTableString_AniDB_Anime_Tag()); commands.AddRange(CreateTableString_AniDB_Anime_Title()); commands.AddRange(CreateTableString_AniDB_Category()); commands.AddRange(CreateTableString_AniDB_Character()); commands.AddRange(CreateTableString_AniDB_Character_Seiyuu()); commands.AddRange(CreateTableString_AniDB_Seiyuu()); commands.AddRange(CreateTableString_AniDB_Episode()); commands.AddRange(CreateTableString_AniDB_File()); commands.AddRange(CreateTableString_AniDB_GroupStatus()); commands.AddRange(CreateTableString_AniDB_ReleaseGroup()); commands.AddRange(CreateTableString_AniDB_Review()); commands.AddRange(CreateTableString_AniDB_Tag()); commands.AddRange(CreateTableString_AnimeEpisode()); commands.AddRange(CreateTableString_AnimeGroup()); commands.AddRange(CreateTableString_AnimeSeries()); commands.AddRange(CreateTableString_CommandRequest()); commands.AddRange(CreateTableString_CrossRef_AniDB_Other()); commands.AddRange(CreateTableString_CrossRef_AniDB_TvDB()); commands.AddRange(CreateTableString_CrossRef_File_Episode()); commands.AddRange(CreateTableString_CrossRef_Languages_AniDB_File()); commands.AddRange(CreateTableString_CrossRef_Subtitles_AniDB_File()); commands.AddRange(CreateTableString_FileNameHash()); commands.AddRange(CreateTableString_Language()); commands.AddRange(CreateTableString_ImportFolder()); commands.AddRange(CreateTableString_ScheduledUpdate()); commands.AddRange(CreateTableString_VideoInfo()); commands.AddRange(CreateTableString_VideoLocal()); commands.AddRange(CreateTableString_DuplicateFile()); commands.AddRange(CreateTableString_GroupFilter()); commands.AddRange(CreateTableString_GroupFilterCondition()); commands.AddRange(CreateTableString_AniDB_Vote()); commands.AddRange(CreateTableString_TvDB_ImageFanart()); commands.AddRange(CreateTableString_TvDB_ImageWideBanner()); commands.AddRange(CreateTableString_TvDB_ImagePoster()); commands.AddRange(CreateTableString_TvDB_Episode()); commands.AddRange(CreateTableString_TvDB_Series()); commands.AddRange(CreateTableString_AniDB_Anime_DefaultImage()); commands.AddRange(CreateTableString_MovieDB_Movie()); commands.AddRange(CreateTableString_MovieDB_Poster()); commands.AddRange(CreateTableString_MovieDB_Fanart()); commands.AddRange(CreateTableString_JMMUser()); commands.AddRange(CreateTableString_Trakt_Episode()); commands.AddRange(CreateTableString_Trakt_ImagePoster()); commands.AddRange(CreateTableString_Trakt_ImageFanart()); commands.AddRange(CreateTableString_Trakt_Show()); commands.AddRange(CreateTableString_Trakt_Season()); commands.AddRange(CreateTableString_CrossRef_AniDB_Trakt()); commands.AddRange(CreateTableString_AnimeEpisode_User()); commands.AddRange(CreateTableString_AnimeSeries_User()); commands.AddRange(CreateTableString_AnimeGroup_User()); commands.AddRange(CreateTableString_VideoLocal_User()); //commands.AddRange(CreateTableString_CrossRef_AnimeEpisode_Hash()); using (SqlConnection tmpConn = new SqlConnection(string.Format("Server={0};User ID={1};Password={2};database={3}", ServerSettings.DatabaseServer, ServerSettings.DatabaseUsername, ServerSettings.DatabasePassword, ServerSettings.DatabaseName))) { tmpConn.Open(); foreach (string cmdTable in commands) { using (SqlCommand command = new SqlCommand(cmdTable, tmpConn)) { command.ExecuteNonQuery(); } } } Console.WriteLine("Creating version..."); Versions ver1 = new Versions(); ver1.VersionType = Constants.DatabaseTypeKey; ver1.VersionValue = "1"; VersionsRepository repVer = new VersionsRepository(); repVer.Save(ver1); }
public static void DebugSettingsToLog() { #region System Info logger.Info("-------------------- SYSTEM INFO -----------------------"); System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly(); try { if (a != null) { logger.Info(string.Format("JMM Server Version: v{0}", Utils.GetApplicationVersion(a))); } } catch (Exception ex) { // oopps, can't create file logger.Warn("Error in log: {0}", ex.ToString()); } try { VersionsRepository repVersions = new VersionsRepository(); Versions ver = repVersions.GetByVersionType(Constants.DatabaseTypeKey); if (ver != null) logger.Info(string.Format("Database Version: {0}", ver.VersionValue)); } catch (Exception ex) { // oopps, can't create file logger.Warn("Error in log: {0}", ex.Message); } logger.Info(string.Format("Operating System: {0}", Utils.GetOSInfo())); string screenSize = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width.ToString() + "x" + System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height.ToString(); logger.Info(string.Format("Screen Size: {0}", screenSize)); try { string mediaInfoVersion = "**** MediaInfo - DLL Not found *****"; string mediaInfoPath = System.Reflection.Assembly.GetExecutingAssembly().Location; FileInfo fi = new FileInfo(mediaInfoPath); mediaInfoPath = Path.Combine(fi.Directory.FullName, Environment.Is64BitProcess ? "x64" : "x86", "MediaInfo.dll"); if (File.Exists(mediaInfoPath)) { FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(mediaInfoPath); mediaInfoVersion = string.Format("MediaInfo DLL {0}.{1}.{2}.{3} ({4})", fvi.FileMajorPart, fvi.FileMinorPart, fvi.FileBuildPart, fvi.FilePrivatePart, mediaInfoPath); } logger.Info(mediaInfoVersion); string hasherInfoVersion = "**** Hasher - DLL NOT found *****"; string fullHasherexepath = System.Reflection.Assembly.GetExecutingAssembly().Location; fi = new FileInfo(fullHasherexepath); fullHasherexepath = Path.Combine(fi.Directory.FullName, Environment.Is64BitProcess ? "x64" : "x86", "hasher.dll"); if (File.Exists(fullHasherexepath)) hasherInfoVersion = string.Format("Hasher DLL found at {0}", fullHasherexepath); logger.Info(hasherInfoVersion); } catch { } logger.Info("-------------------------------------------------------"); #endregion logger.Info("----------------- SERVER SETTINGS ----------------------"); logger.Info("DatabaseType: {0}", DatabaseType); logger.Info("MSSQL DatabaseServer: {0}", DatabaseServer); logger.Info("MSSQL DatabaseName: {0}", DatabaseName); logger.Info("MSSQL DatabaseUsername: {0}", string.IsNullOrEmpty(DatabaseUsername) ? "NOT SET" : "***HIDDEN***"); logger.Info("MSSQL DatabasePassword: {0}", string.IsNullOrEmpty(DatabasePassword) ? "NOT SET" : "***HIDDEN***"); logger.Info("SQLITE DatabaseFile: {0}", DatabaseFile); logger.Info("MySQL_Hostname: {0}", MySQL_Hostname); logger.Info("MySQL_SchemaName: {0}", MySQL_SchemaName); logger.Info("MySQL_Username: {0}", string.IsNullOrEmpty(MySQL_Username) ? "NOT SET" : "***HIDDEN***"); logger.Info("MySQL_Password: {0}", string.IsNullOrEmpty(MySQL_Password) ? "NOT SET" : "***HIDDEN***"); logger.Info("AniDB_Username: {0}", string.IsNullOrEmpty(AniDB_Username) ? "NOT SET" : "***HIDDEN***"); logger.Info("AniDB_Password: {0}", string.IsNullOrEmpty(AniDB_Password) ? "NOT SET" : "***HIDDEN***"); logger.Info("AniDB_ServerAddress: {0}", AniDB_ServerAddress); logger.Info("AniDB_ServerPort: {0}", AniDB_ServerPort); logger.Info("AniDB_ClientPort: {0}", AniDB_ClientPort); logger.Info("AniDB_AVDumpKey: {0}", string.IsNullOrEmpty(AniDB_AVDumpKey) ? "NOT SET" : "***HIDDEN***"); logger.Info("AniDB_AVDumpClientPort: {0}", AniDB_AVDumpClientPort); logger.Info("AniDB_DownloadRelatedAnime: {0}", AniDB_DownloadRelatedAnime); logger.Info("AniDB_DownloadSimilarAnime: {0}", AniDB_DownloadSimilarAnime); logger.Info("AniDB_DownloadReviews: {0}", AniDB_DownloadReviews); logger.Info("AniDB_DownloadReleaseGroups: {0}", AniDB_DownloadReleaseGroups); logger.Info("AniDB_MyList_AddFiles: {0}", AniDB_MyList_AddFiles); logger.Info("AniDB_MyList_StorageState: {0}", AniDB_MyList_StorageState); logger.Info("AniDB_MyList_ReadUnwatched: {0}", AniDB_MyList_ReadUnwatched); logger.Info("AniDB_MyList_ReadWatched: {0}", AniDB_MyList_ReadWatched); logger.Info("AniDB_MyList_SetWatched: {0}", AniDB_MyList_SetWatched); logger.Info("AniDB_MyList_SetUnwatched: {0}", AniDB_MyList_SetUnwatched); logger.Info("AniDB_MyList_UpdateFrequency: {0}", AniDB_MyList_UpdateFrequency); logger.Info("AniDB_Calendar_UpdateFrequency: {0}", AniDB_Calendar_UpdateFrequency); logger.Info("AniDB_Anime_UpdateFrequency: {0}", AniDB_Anime_UpdateFrequency); logger.Info("WebCache_Address: {0}", WebCache_Address); logger.Info("WebCache_Anonymous: {0}", WebCache_Anonymous); logger.Info("WebCache_XRefFileEpisode_Get: {0}", WebCache_XRefFileEpisode_Get); logger.Info("WebCache_XRefFileEpisode_Send: {0}", WebCache_XRefFileEpisode_Send); logger.Info("WebCache_TvDB_Get: {0}", WebCache_TvDB_Get); logger.Info("WebCache_TvDB_Send: {0}", WebCache_TvDB_Send); logger.Info("WebCache_MAL_Get: {0}", WebCache_MAL_Get); logger.Info("WebCache_MAL_Send: {0}", WebCache_MAL_Send); logger.Info("TvDB_AutoFanart: {0}", TvDB_AutoFanart); logger.Info("TvDB_AutoFanartAmount: {0}", TvDB_AutoFanartAmount); logger.Info("TvDB_AutoWideBanners: {0}", TvDB_AutoWideBanners); logger.Info("TvDB_AutoPosters: {0}", TvDB_AutoPosters); logger.Info("TvDB_UpdateFrequency: {0}", TvDB_UpdateFrequency); logger.Info("TvDB_Language: {0}", TvDB_Language); logger.Info("MovieDB_AutoFanart: {0}", MovieDB_AutoFanart); logger.Info("MovieDB_AutoFanartAmount: {0}", MovieDB_AutoFanartAmount); logger.Info("MovieDB_AutoPosters: {0}", MovieDB_AutoPosters); logger.Info("VideoExtensions: {0}", VideoExtensions); logger.Info("DefaultSeriesLanguage: {0}", DefaultSeriesLanguage); logger.Info("DefaultEpisodeLanguage: {0}", DefaultEpisodeLanguage); logger.Info("RunImportOnStart: {0}", RunImportOnStart); logger.Info("Hash_CRC32: {0}", Hash_CRC32); logger.Info("Hash_MD5: {0}", Hash_MD5); logger.Info("Hash_SHA1: {0}", Hash_SHA1); logger.Info("Import_UseExistingFileWatchedStatus: {0}", Import_UseExistingFileWatchedStatus); logger.Info("Trakt_IsEnabled: {0}", Trakt_IsEnabled); logger.Info("Trakt_AuthToken: {0}", string.IsNullOrEmpty(Trakt_AuthToken) ? "NOT SET" : "***HIDDEN***"); logger.Info("Trakt_RefreshToken: {0}", string.IsNullOrEmpty(Trakt_RefreshToken) ? "NOT SET" : "***HIDDEN***"); logger.Info("Trakt_UpdateFrequency: {0}", Trakt_UpdateFrequency); logger.Info("Trakt_SyncFrequency: {0}", Trakt_SyncFrequency); logger.Info("AutoGroupSeries: {0}", AutoGroupSeries); logger.Info("LanguagePreference: {0}", LanguagePreference); logger.Info("LanguageUseSynonyms: {0}", LanguageUseSynonyms); logger.Info("EpisodeTitleSource: {0}", EpisodeTitleSource); logger.Info("SeriesDescriptionSource: {0}", SeriesDescriptionSource); logger.Info("SeriesNameSource: {0}", SeriesNameSource); logger.Info("BaseImagesPath: {0}", BaseImagesPath); logger.Info("BaseImagesPathIsDefault: {0}", BaseImagesPathIsDefault); logger.Info("-------------------------------------------------------"); }