public string Generate(FileStatistic stats) { var stringBuilder = new StringBuilder(""); var displayFileName = new FileInfo(stats.FileName).Name.ToUpper() + ":"; const int PAD_AMOUNT = 25; double reduction = ((double)stats.ResultingUtteranceCount / stats.ProcessedUtteranceCount); stringBuilder.Append("\n"); stringBuilder.Append($"\n{displayFileName}"); stringBuilder.Append($"\n{new string('-', displayFileName.Length)}"); stringBuilder.Append($"\nUtterances found : {stats.UtteranceCount.ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append($"\nUtterances ignored : {stats.IgnoredUtteranceCount.ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append($"\nUtterances processed : {stats.ProcessedUtteranceCount.ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append($"\nUtterances reduced to : {stats.ResultingUtteranceCount.ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append($"\nReduction factor : {reduction.ToString("### ##0.###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append("\n"); stringBuilder.Append($"\nIntents found : {(stats.IgnoredIntentCount + stats.IntentCount).ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append($"\nIntents ignored : {stats.IgnoredIntentCount.ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append($"\nTotal intents processed: {stats.IntentCount.ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append($"\nIgnored intents : {string.Join(',', stats.IgnoredIntents.Select(s => $"'{s}'")).PadLeft(PAD_AMOUNT)}"); stringBuilder.Append("\n"); stringBuilder.Append($"\nLines Written : {stats.LinesWritten.ToString("### ###").PadLeft(PAD_AMOUNT)}"); stringBuilder.Append("\n" + new string('-', PAD_AMOUNT * 2)); return(stringBuilder.ToString()); }
public string MakeFromTrsx(string fileName, XElement trsxElement, ProgramParameters parameters) { _log.Enter(this); var intents = new Dictionary <string, HashSet <EntityBasedUtterance> >(); var allUtterances = trsxElement.Descendants("sample"); // Utterances are named "samples" in Nuance var lines = new List <string>(); var reducedUtterances = allUtterances; var stats = new FileStatistic { FileName = new FileInfo(fileName).Name, IgnoredIntents = new List <string>() }; stats.UtteranceCount = trsxElement.Descendants("sample").Count(); reducedUtterances = RemoveUtterancesForIgnoredIntents(parameters, reducedUtterances, stats); foreach (var utterance in reducedUtterances) { stats.ProcessedUtteranceCount += ExtractEntityBasedUtteranceFromXElement(intents, utterance); } stats.IntentCount = intents.Keys.Count(); foreach (var key in intents.Keys) { stats.ResultingUtteranceCount += intents[key].Count(); } stats.LinesWritten = _exceptionHandler.Get(() => WriteIntentsToLudownFile(parameters.DestinationFolderName, fileName, intents)); return(_statisticsGenerator.Generate(stats)); }
private FileStatistic GetStat(string path, string oldPath) { FileStatistic result; if (this.map.TryGetValue(path, out result)) { return(result); } if (this.map.TryGetValue(oldPath, out result)) { this.map[path] = result; return(result); } result = new FileStatistic(); this.map[path] = result; return(result); }
private static IEnumerable <XElement> RemoveUtterancesForIgnoredIntents(ProgramParameters parameters, IEnumerable <XElement> reducedUtterances, FileStatistic stats) { if (parameters.IgnoredIntents != null && parameters.IgnoredIntents.Any()) { foreach (var ignoredIntent in parameters.IgnoredIntents) { stats.IgnoredIntentCount++; stats.IgnoredUtteranceCount += reducedUtterances.Count(s => !s.Attribute("intentref").Value.StartsWith(ignoredIntent)); stats.IgnoredIntents.Add(ignoredIntent); reducedUtterances = reducedUtterances.Where(s => !s.Attribute("intentref").Value.StartsWith(ignoredIntent)); } } return(reducedUtterances); }
private void TaskResultGetProcess(TaskResultData oTaskInfo, bool bDataCreate, InputCommand cmd, TransportClassMainAshx oTransportClassMainAshx) { switch (oTaskInfo.eStatus) { case FileStatus.Ok: { string sAffiliateId = null; Signature.getVKeyStringParam(cmd.vkey, ConfigurationSettings.AppSettings["keyKeyID"], out sAffiliateId); if (null != sAffiliateId) { string sTag = null; switch (cmd.editorid) { case (int)LicenseInfo.EditorType.Spreadsheet: sTag = "open_sheet"; break; case (int)LicenseInfo.EditorType.Presentation: sTag = "open_presentation"; break; default: sTag = "open_word"; break; } FileConverterUtils2.FileStatistic oFileStat = new FileStatistic(); oFileStat.insert(sAffiliateId, cmd.id, DateTime.UtcNow, sTag); } ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult( oTransportClassMainAshx, cmd, oTaskResult); string sOutputCommand = ("create" == cmd.c)? "create": "open"; WriteOutputCommand(oTransportClassTaskResult, new OutputCommand(sOutputCommand, cmd.id + "/Editor.bin")); } break; case FileStatus.Convert: case FileStatus.WaitQueue: { if (bDataCreate) { AddTask(cmd, oTransportClassMainAshx); } else { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("waitopen", oTaskInfo.nStatusInfo.ToString())); } } break; case FileStatus.None: { if (bDataCreate) { TaskResultDataToUpdate oToUpdate = new TaskResultDataToUpdate(); oToUpdate.eStatus = FileStatus.WaitQueue; ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult(oTransportClassMainAshx, cmd, oTaskResult); oTaskResult.UpdateBegin(cmd.id, oToUpdate, TaskResultUpdateCallback, oTransportClassTaskResult); } else { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("waitopen", oTaskInfo.nStatusInfo.ToString())); } } break; case FileStatus.NeedParams: string sUrl = Constants.mc_sResourceServiceUrlRel + HttpUtility.UrlEncode(cmd.id + "/settings.json"); WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("needparams", sUrl)); break; case FileStatus.ErrToReload: { AsyncClearCacheOperation oAsyncClearCacheOperation = new AsyncClearCacheOperation(); TransportClassClearCache oTempTransportClassClearCache = new TransportClassClearCache(oTransportClassMainAshx, cmd, oAsyncClearCacheOperation, oTaskInfo.nStatusInfo); oAsyncClearCacheOperation.ClearCacheBegin(cmd.id, TaskResultRemoveCallback2, oTempTransportClassClearCache); } break; case FileStatus.Err: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand((ErrorTypes)oTaskInfo.nStatusInfo)); break; case FileStatus.SaveVersion: { if (cmd.viewmode) WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("updateversion", cmd.id + "/Editor.bin")); else { ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TaskResultDataToUpdate oTask = new TaskResultDataToUpdate(); oTask.eStatus = FileStatus.Ok; TaskResultDataToUpdate oMask = new TaskResultDataToUpdate(); oMask.eStatus = FileStatus.SaveVersion; TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult(oTransportClassMainAshx, cmd, oTaskResult); oTaskResult.UpdateIfBegin(cmd.id, oMask, oTask, TaskResultUpdateIfCallback2, oTransportClassTaskResult); } } break; case FileStatus.UpdateVersion: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("updateversion", cmd.id + "/Editor.bin")); break; default: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand(ErrorTypes.Unknown)); break; } }