public static string GetAuditPath(Process pokerStarsProcess) { if (pokerStarsProcess == null) { return(GetAuditPath()); } try { var pokerStarsFolder = Path.GetDirectoryName(pokerStarsProcess.MainModule.FileName); var auditIniFile = Path.Combine(pokerStarsFolder, auditIni); if (!File.Exists(auditIniFile)) { return(GetAuditPath()); } var path = IniFileHelpers.ReadValue(AuditSection, PathKey, auditIniFile); return(!string.IsNullOrEmpty(path) ? path : GetAuditPath()); } catch { return(GetAuditPath()); } }
private static void FillModelFromIniFile(PT4DatabaseSettingsProvider model) { var file = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), pt4RelativeConfigPath); if (File.Exists(file)) { var keyValuePairs = IniFileHelpers.ReadKeyValuePairs("Database", file); var server = GetKeyValue("Default.Postgres.Server", "Postgres.Server", keyValuePairs); var port = GetKeyValue("Default.Postgres.Port", "Postgres.Port", keyValuePairs); var user = GetKeyValue("Default.Postgres.User", "Postgres.User", keyValuePairs); var password = GetKeyValue("Default.Postgres.Password", "Postgres.Password", keyValuePairs); if (!string.IsNullOrWhiteSpace(server)) { model.Server = server; } if (!string.IsNullOrWhiteSpace(port)) { model.Port = port; } if (!string.IsNullOrWhiteSpace(user)) { model.UserName = user; } if (!string.IsNullOrWhiteSpace(password)) { model.Password = password; } } }
/// <summary> /// Reads the value for the specified key for the specified path to ini file and add value to the specified list /// </summary> /// <param name="iniKey">Key to read</param> /// <param name="handHistoryFolders">List to add value</param> /// <param name="settingsFilePath">Path to the ini file</param> private bool ReadAndAddPathFromIniSettings(string iniKey, IList <string> handHistoryFolders, string settingsFilePath) { try { var handHistoriesFolder = IniFileHelpers.ReadValue(iniSection, iniKey, settingsFilePath); if (!string.IsNullOrEmpty(handHistoriesFolder)) { handHistoryFolders.Add(handHistoriesFolder); return(true); } } catch (Exception e) { LogProvider.Log.Error(this, $"Could not read '{iniKey}'", e); } return(false); }
/// <summary> /// Validates site settings in both client and DH /// </summary> /// <param name="siteModel">Model with site settings</param> /// <returns>The result of validation</returns> public override ISiteValidationResult ValidateSiteConfiguration(SiteModel siteModel) { if (siteModel == null) { return(null); } var configurationDirectories = GetConfigurationDirectories(); var validationResult = new SiteValidationResult(Site) { IsNew = !siteModel.Configured, HandHistoryLocations = GetHandHistoryFolders().ToList(), IsDetected = configurationDirectories.Count > 0, IsEnabled = siteModel.Enabled, FastPokerEnabled = true }; InstallAuditIni(validationResult); foreach (var configurationDirectory in configurationDirectories) { try { var settingsFile = Path.Combine(configurationDirectory.FullName, settingsFileName); if (!File.Exists(settingsFile)) { continue; } LogProvider.Log.Info($"Reading PS settings from {settingsFile}"); var localeSetting = IniFileHelpers.ReadValue(iniSection, iniKeyLocale, settingsFile); var hhLocaleSetting = IniFileHelpers.ReadValue(iniSection, iniKeyHHLocale, settingsFile); var tsLocaleSetting = IniFileHelpers.ReadValue(iniSection, iniKeyTSLocale, settingsFile); var hhEnabledSetting = IniFileHelpers.ReadValue(iniSection, iniKeySaveMyHands, settingsFile, "0"); var tsEnabledSetting = IniFileHelpers.ReadValue(iniSection, iniKeySaveMyTournSummaries, settingsFile, "0"); LogProvider.Log.Info($"PS Settings: Locale: {localeSetting}; HHLocale: {hhLocaleSetting}; TSLocale: {tsLocaleSetting}"); var isLocaleSettingCorrect = correctLanguageSettings.Contains(localeSetting); bool isHHLanguageCorrect = string.IsNullOrWhiteSpace(hhLocaleSetting) ? isLocaleSettingCorrect : correctLanguageSettings.Contains(hhLocaleSetting); bool isTSLanguageCorrect = string.IsNullOrWhiteSpace(tsLocaleSetting) ? isLocaleSettingCorrect : correctLanguageSettings.Contains(tsLocaleSetting); bool isHHEnabled = hhEnabledSetting == "1"; bool isTSEnabled = tsEnabledSetting == "1"; if (!isHHLanguageCorrect || !isTSLanguageCorrect || !isHHEnabled || !isTSEnabled) { if (!isHHEnabled) { var issue = string.Format(CommonResourceManager.Instance.GetResourceString("Error_PS_Validation_SaveMyHandHistory"), configurationDirectory.Name); validationResult.Issues.Add(issue); } if (!isTSEnabled) { var issue = string.Format(CommonResourceManager.Instance.GetResourceString("Error_PS_Validation_SaveTournamentSummaries"), configurationDirectory.Name); validationResult.Issues.Add(issue); } if (!isHHLanguageCorrect) { var issue = string.Format(CommonResourceManager.Instance.GetResourceString("Error_PS_Validation_HHLanguage"), configurationDirectory.Name); validationResult.Issues.Add(issue); } if (!isTSLanguageCorrect) { var issue = string.Format(CommonResourceManager.Instance.GetResourceString("Error_PS_Validation_TSLanguage"), configurationDirectory.Name); validationResult.Issues.Add(issue); } } } catch (Exception ex) { LogProvider.Log.Error(this, "Error during reading of the PS settings", ex); } } return(validationResult); }