public async Task UpdateAsync(CancellationToken cancellationToken) { _logger.LogInformation("Checking Realm Version..."); var gameVer = RealmReversed.GameVersion; var defVer = RealmReversed.DefinitionVersion; var updates = $"Game Version: {gameVer}\r\nDefinition Version: {defVer}."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(updates)); _logger.LogInformation($"Game Version: {gameVer}. Definition Version: {defVer}."); if (!RealmReversed.IsCurrentVersion) { _logger.LogInformation("Updating Realm."); IProgress <UpdateProgress> value = new ProgressReporter(_logger); const bool IncludeDataChanges = true; var updateReport = await Task.Run(() => RealmReversed.Update(IncludeDataChanges, value), cancellationToken); foreach (var change in updateReport.Changes) { updates = await Task.Run(() => $"{value}\r\n{change.SheetName} {change.ChangeType}"); _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(updates)); _logger.LogInformation(updates); } } else { updates = "Running current version."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(updates)); _logger.LogInformation(updates); } }
public async Task ConvertToScdAsync(string[] currentOggFiles, CancellationToken cancellationToken) { var processed = 0; var failed = 0; foreach (var file in currentOggFiles) { try { await Task.Run(() => Convert(file)); processed++; var scdFile = file.Contains(".scd.ogg") ? file.Replace(".ogg", "") : file.Replace(".ogg", ".scd"); _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs($"{new FileInfo(scdFile).Name} created")); } catch (Exception ex) { var message = $"There was a problem converting {file}."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs($"{message}\r\n{ex.Message}.")); _logger.LogError(ex, message); failed++; } } var result = $"Completed SCD Conversion. {processed} converted. {failed} failed."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs($"{result}")); _logger.LogInformation(result); }
public async Task ConvertToWavAsync(IEnumerable <string> oggFiles, CancellationToken cancellationToken) { int processed = 0, skipped = 0, failed = 0; foreach (var oggFile in oggFiles) { var folder = Path.GetDirectoryName(oggFile); var parentFolder = Directory.GetParent(folder); var wavFolder = Path.Combine(parentFolder.FullName, "WAV"); if (!Directory.Exists(wavFolder)) { Directory.CreateDirectory(wavFolder); } var wavFile = Path.Combine(wavFolder, Path.GetFileName(oggFile).Replace(".ogg", ".wav")); if (File.Exists(wavFile)) { var skipMessage = await Task.Run(() => $"{wavFile} exists. Skipping."); _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(skipMessage)); _logger.LogInformation(skipMessage); skipped++; continue; } try { await ConvertAsync(oggFile, wavFile); processed++; } catch (Exception ex) { var errorMessage = $"Unable to convert {oggFile}"; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(errorMessage)); _logger.LogError(ex, errorMessage); failed++; } } var message = $"Completed WAV Conversion. {processed} converted. {skipped} skipped. {failed} failed."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(message)); _logger.LogInformation(message); }
public void WaveToMP3(string waveFileName, string mp3FileName, int bitRate = 192) { using var reader = new AudioFileReader(waveFileName); using var writer = new LameMP3FileWriter(mp3FileName, reader.WaveFormat, bitRate); reader.CopyTo(writer); var message = $"{mp3FileName} created."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(message)); _logger.LogInformation(message); }
public async Task InvokeAsync(HttpContext context, ISetUserRequestIdentity setUserRequestIdentity, IAuthService authService, ICustomLogger <AuthMiddleware> customLogger) { customLogger.LogInformation($"HTTP Request: {context.Request.Path.Value.ToLower()}"); if (context.Request.Path.Value.ToLower() != "/api/auth/login") { var token = context.Request.Headers["auth-token"].ToString(); if (string.IsNullOrWhiteSpace(token)) { customLogger.LogInformation("Token is missing."); context.Response.StatusCode = 403; await context.Response.WriteAsync("Token is missing."); } else { var userInfo = await authService.GetUserInfoByAuthToken(token); if (userInfo == null) { customLogger.LogInformation("Token is invalid."); context.Response.StatusCode = 403; await context.Response.WriteAsync("Token is invalid."); } else { customLogger.LogInformation("Token is valid."); setUserRequestIdentity.SetUser(userInfo); await _next.Invoke(context); } } } else { await _next.Invoke(context); } }
public bool ExecuteMyWorkerServiceProcess() { bool isSuccessful = false; lock (_asynLock) { try { #region Normal Logger //_logger.LogTrace("{LogId}{Application}{LogMessage}{AdditionalInformation}", new object[] { Guid.NewGuid(), "Application Name", "Normal Logger - LogTrace", "Normal Logger - LogTrace" }); //_logger.LogDebug("{LogId}{Application}{LogMessage}{AdditionalInformation}", new object[] { Guid.NewGuid(), "Application Name", "Normal Logger - LogDebug", "Normal Logger - LogDebug" }); //_logger.LogInformation("{LogId}{Application}{LogMessage}{AdditionalInformation}", new object[] { Guid.NewGuid(), "Application Name", "Normal Logger - LogInformation", "Normal Logger - LogInformation" }); //_logger.LogWarning("{LogId}{Application}{LogMessage}{AdditionalInformation}", new object[] { Guid.NewGuid(), "Application Name", "Normal Logger - LogWarning", "Normal Logger - LogWarning" }); //_logger.LogError("{LogId}{Application}{LogMessage}{AdditionalInformation}", new object[] { Guid.NewGuid(), "Application Name", "Normal Logger - LogError", "Normal Logger - LogError" }); //_logger.LogCritical("{LogId}{Application}{LogMessage}{AdditionalInformation}", new object[] { Guid.NewGuid(), "Application Name", "Normal Logger - LogCritical", "Normal Logger - LogCritical" }); #endregion #region Custom Logger _customLogger.LogVerbose("Custom Logger- LogVerbose", "Custom Logger - LogVerbose"); _customLogger.LogDebug("Custom Logger - LogDebug", "Custom Logger- LogDebug"); _customLogger.LogInformation("Custom Logger - LogInformation", "Custom Logger - LogInformation"); _customLogger.LogWarning("Custom Logger - LogWarning", "Custom Logger- LogWarning"); Exception exError = new Exception("Custom Logger - LogError"); _customLogger.LogError(exError, "Custom Logger- LogError"); Exception exFetal = new Exception("Custom Logger - LogError"); _customLogger.LogFatal(exFetal, "Custom Logger - LogFatal"); #endregion int i = 1; int j = 0; int k = i / j; isSuccessful = true; } catch (Exception ex) { #region Normal Logger //_logger.LogError("{LogId}{Application}{LogMessage}{AdditionalInformation}", new object[] { Guid.NewGuid(), "Application Name", ex.Message, ex.StackTrace }); #endregion #region Custom Logger _customLogger.LogError(ex, "Some string"); #endregion isSuccessful = false; } } return(isSuccessful); }
public List <string> ExportSchema() { var imports = new List <string>(); // .Where(n => !n.Contains("quest/") && !n.Contains("custom/")) foreach (var name in _realm.RealmReversed.GameData.AvailableSheets) { var sheet = _realm.RealmReversed.GameData.GetSheet(name); var variant = sheet.Header.Variant; var sheet2 = sheet as XivSheet2 <XivSubRow>; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs($"Sheet: {name}, variant: {variant}")); _logger.LogInformation($"Sheet: {name}, variant: {variant}"); if (sheet.Count == 0) { continue; } var sb = new StringBuilder(); sb.AppendLine($"CREATE TABLE {GetTableName(sheet)} ("); // key meme sb.AppendLine($"\t[_Key] INT NOT NULL,"); if (sheet.Header.Variant != 1) { sb.AppendLine($"\t[_SubKey] INT NOT NULL,"); } // add cols foreach (var column in sheet.Header.Columns) { var colName = column.Name; if (string.IsNullOrEmpty(colName)) { colName = $"unk{column.Index}"; } sb.AppendLine($"\t[{colName.Replace("[", "{").Replace("]", "}")}] {GetSqlType(column.Reader.Type)} NULL,"); } // primary key sb.AppendLine($"PRIMARY KEY CLUSTERED ("); sb.AppendLine(sheet.Header.Variant == 1 ? $"\t[_Key] ASC" : $"\t[_Key] ASC, [_SubKey] ASC"); sb.AppendLine("))"); sb.AppendLine("GO"); sb.AppendLine(); // Write data WriteRows(sheet, sb); sb.AppendLine("GO"); sb.AppendLine(); imports.Add(sb.ToString()); } return(imports); }
public List <string> ExportSchema() { var imports = new List <string>(); // .Where(n => !n.Contains("quest/") && !n.Contains("custom/")) foreach (var name in _realm.RealmReversed.GameData.AvailableSheets) { var sheet = _realm.RealmReversed.GameData.GetSheet(name); var variant = sheet.Header.Variant; var sheet2 = sheet as XivSheet2 <XivSubRow>; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs($"Sheet: {name}, variant: {variant}")); _logger.LogInformation($"Sheet: {name}, variant: {variant}"); if (sheet.Count == 0) { continue; } var sb = new StringBuilder(); sb.AppendLine($"CREATE TABLE {GetTableName(sheet)} ("); // key meme if (sheet.Header.Variant == 1) { sb.AppendLine($" `_Key` INT NOT NULL,"); } else { sb.AppendLine($" `_Key` INT NOT NULL,"); sb.AppendLine($" `_SubKey` INT NOT NULL,"); } // add cols foreach (var column in sheet.Header.Columns) { var colName = column.Name; if (string.IsNullOrEmpty(colName)) { colName = $"unk{column.Index}"; } sb.AppendLine($" `{colName}` {GetSqlType(column.Reader.Type)},"); } // primary key if (sheet.Header.Variant == 1) { sb.AppendLine($" PRIMARY KEY (`_Key`)"); } else { sb.AppendLine($" PRIMARY KEY (`_Key`, `_SubKey`)"); } sb.AppendLine(") COLLATE='utf8mb4_unicode_ci' ENGINE=MyISAM;"); sb.AppendLine(); WriteRows(sheet, sb); imports.Add(sb.ToString()); } return(imports); }
public async Task GetFilesAsync(CancellationToken cancellationToken) { var files = _realm.GameData.GetSheet("BGM"); int success = 0, fail = 0; foreach (IXivRow file in files) { var path = file["File"].ToString(); if (string.IsNullOrWhiteSpace(path)) { continue; } else { try { if (await Task.Run(() => ExportFile(path, null))) { var successMessage = $"{path} exported."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(successMessage)); _logger.LogInformation(successMessage); success++; } else { var notFoundMessage = $"File {path} not found."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(notFoundMessage)); _logger.LogInformation(notFoundMessage); fail++; } } catch (Exception ex) { var errorMessage = $"Could not export {path}."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(errorMessage)); _logger.LogError(ex, errorMessage); fail++; } } } var orch = _realm.GameData.GetSheet("Orchestrion"); var orchPath = _realm.GameData.GetSheet("OrchestrionPath"); foreach (IXivRow orchInfo in orch) { var path = orchPath[orchInfo.Key]; var name = orchInfo["Name"].ToString(); var filePath = path["File"].ToString(); if (string.IsNullOrWhiteSpace(filePath)) { continue; } else { try { if (await Task.Run(() => ExportFile(filePath, name))) { var successMessage = $"{filePath}-{name} exported."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(successMessage)); _logger.LogInformation(successMessage); success++; } else { var notFoundMessage = $"File {filePath}-{name} not found."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(notFoundMessage)); _logger.LogInformation(notFoundMessage); fail++; } } catch (Exception ex) { var errorMessage = $"Could not export {filePath}-{name}."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(errorMessage)); _logger.LogError(ex, errorMessage); fail++; } } } var message = $"{success} files exported. {fail} files failed."; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(message)); _logger.LogInformation(message); }
public IEnumerable <string> Get() { logger.LogInformation("test log message"); return(new string[] { "value1", "value2" }); }
public async Task RipAsync(string paramList, CancellationToken cancellationToken) { const string csvFileFormat = "exd-all/{0}{1}.csv"; var arr = _realm.RealmReversed; IEnumerable <string> filesToExport; _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs($"Getting sheet list...")); _logger.LogInformation("Getting sheet list..."); if (string.IsNullOrWhiteSpace(paramList)) { filesToExport = arr.GameData.AvailableSheets; } else { filesToExport = paramList.Split(' ').Select(_ => arr.GameData.FixName(_)); } var successCount = 0; var failCount = 0; foreach (var name in filesToExport) { var sheet = arr.GameData.GetSheet(name); var language = _realm.RealmReversed.GameData.ActiveLanguage == Language.None ? sheet.Header.AvailableLanguages : new List <Language> { _realm.RealmReversed.GameData.ActiveLanguage }; foreach (var lang in language /*sheet.Header.AvailableLanguages*/) { var code = lang.GetCode(); if (code.Length > 0) { code = "." + code; } var target = new FileInfo(Path.Combine(arr.GameVersion, string.Format(csvFileFormat, name, code))); try { if (!target.Directory.Exists) { target.Directory.Create(); } await Task.Run(() => ExdHelper.SaveAsCsv(sheet, lang, target.FullName, false)); _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs($"{target.Name}")); _logger.LogInformation($"Exported {target.Name}."); ++successCount; } catch (Exception ex) { _logger.LogError(ex, $"Export of {target.Name} failed."); try { if (target.Exists) { target.Delete(); } } catch { } ++failCount; } } } var returnValue = $"{successCount} files exported, {failCount} failed"; _logger.LogInformation(returnValue); _sendMessageEvent.OnSendMessageEvent(new SendMessageEventArgs(returnValue)); }