Added ClosestMatchFileName,

Changed dummy to match HgCV
This commit is contained in:
Mike Phares 2022-03-15 13:37:00 -07:00
parent 7a94484d0e
commit 360d2ee4d8
4 changed files with 28 additions and 39 deletions

View File

@ -220,61 +220,47 @@ public class FileRead : Shared.FileRead, IFileRead
{ {
try try
{ {
string pathSegment; string sourceParentDirectory;
string monARessource; string targetParentDirectory;
DateTime dateTime = DateTime.Now; DateTime dateTime = DateTime.Now;
if (!_FileConnectorConfiguration.TargetFileLocation.Contains(_FileConnectorConfiguration.SourceFileLocation)) if (!string.IsNullOrEmpty(Path.GetFileName(_FileConnectorConfiguration.SourceFileLocation)))
throw new Exception("Target must start with source!"); sourceParentDirectory = Path.GetDirectoryName(_FileConnectorConfiguration.SourceFileLocation);
else
sourceParentDirectory = Path.GetDirectoryName(Path.GetDirectoryName(_FileConnectorConfiguration.SourceFileLocation));
if (!string.IsNullOrEmpty(Path.GetFileName(_FileConnectorConfiguration.TargetFileLocation)))
targetParentDirectory = Path.GetDirectoryName(_FileConnectorConfiguration.TargetFileLocation);
else
targetParentDirectory = Path.GetDirectoryName(Path.GetDirectoryName(_FileConnectorConfiguration.TargetFileLocation));
if (sourceParentDirectory != targetParentDirectory)
throw new Exception("Target and source must have the same parent for Si Dummy FileConnectorConfiguration!");
bool check = dateTime.Hour > 7 && dateTime.Hour < 18 && dateTime.DayOfWeek != DayOfWeek.Sunday && dateTime.DayOfWeek != DayOfWeek.Saturday; bool check = dateTime.Hour > 7 && dateTime.Hour < 18 && dateTime.DayOfWeek != DayOfWeek.Sunday && dateTime.DayOfWeek != DayOfWeek.Saturday;
if (!_IsEAFHosted || check) if (!_IsEAFHosted || check)
{ {
string checkSegment; string monARessource;
string checkDirectory;
string sourceFileFilter; string sourceFileFilter;
string sourceArchiveFile; string sourceArchiveFile;
string sourceFileLocation;
string weekOfYear = _Calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00"); string weekOfYear = _Calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
string traceDummyDirectory = Path.Combine(Path.GetPathRoot(_TracePath), "TracesDummy", _CellInstanceName, "Source", $"{dateTime:yyyy}___Week_{weekOfYear}"); string traceDummyDirectory = Path.Combine(Path.GetPathRoot(_TracePath), "TracesDummy", _CellInstanceName, "Source", $"{dateTime:yyyy}___Week_{weekOfYear}");
if (!Directory.Exists(traceDummyDirectory)) if (!Directory.Exists(traceDummyDirectory))
_ = Directory.CreateDirectory(traceDummyDirectory); _ = Directory.CreateDirectory(traceDummyDirectory);
string traceDummyFile = Path.Combine(traceDummyDirectory, $"{dateTime.Ticks} - {_CellInstanceName}.txt"); string traceDummyFile = Path.Combine(traceDummyDirectory, $"{dateTime.Ticks} - {_CellInstanceName}.txt");
File.AppendAllText(traceDummyFile, string.Empty); File.AppendAllText(traceDummyFile, string.Empty);
if (_FileConnectorConfiguration.SourceFileLocation.EndsWith("\\"))
sourceFileLocation = _FileConnectorConfiguration.SourceFileLocation;
else
sourceFileLocation = string.Concat(_FileConnectorConfiguration.SourceFileLocation, '\\');
for (int i = 0; i < _FileConnectorConfiguration.SourceFileFilters.Count; i++) for (int i = 0; i < _FileConnectorConfiguration.SourceFileFilters.Count; i++)
{ {
_LastDummyRunIndex += 1; _LastDummyRunIndex += 1;
if (_LastDummyRunIndex >= _FileConnectorConfiguration.SourceFileFilters.Count) if (_LastDummyRunIndex >= _FileConnectorConfiguration.SourceFileFilters.Count)
_LastDummyRunIndex = 0; _LastDummyRunIndex = 0;
sourceFileFilter = _FileConnectorConfiguration.SourceFileFilters[_LastDummyRunIndex]; sourceFileFilter = _FileConnectorConfiguration.SourceFileFilters[_LastDummyRunIndex];
sourceArchiveFile = Path.GetFullPath(string.Concat(sourceFileLocation, sourceFileFilter)); sourceArchiveFile = Path.Combine(_FileConnectorConfiguration.SourceFileLocation, sourceFileFilter);
if (File.Exists(sourceArchiveFile)) if (File.Exists(sourceArchiveFile))
{ {
checkSegment = _FileConnectorConfiguration.TargetFileLocation.Substring(sourceFileLocation.Length);
checkDirectory = Path.GetDirectoryName(sourceArchiveFile);
for (int z = 0; z < int.MaxValue; z++)
{
if (checkDirectory.Length < sourceFileLocation.Length || !checkDirectory.StartsWith(sourceFileLocation))
break;
checkDirectory = Path.GetDirectoryName(checkDirectory);
if (Directory.Exists(Path.Combine(checkDirectory, checkSegment)))
{
checkDirectory = Path.Combine(checkDirectory, checkSegment);
break;
}
}
if (!checkDirectory.EndsWith(checkSegment))
throw new Exception("Could not determine dummy target directory for extract!");
if (!long.TryParse(Path.GetFileNameWithoutExtension(sourceArchiveFile).Replace("x", string.Empty), out long sequence)) if (!long.TryParse(Path.GetFileNameWithoutExtension(sourceArchiveFile).Replace("x", string.Empty), out long sequence))
throw new Exception("Invalid file name for source archive file!"); throw new Exception("Invalid file name for source archive file!");
pathSegment = checkDirectory.Substring(sourceFileLocation.Length); monARessource = GetCellName(sourceArchiveFile);
monARessource = GetCellName(pathSegment);
if (string.IsNullOrEmpty(monARessource)) if (string.IsNullOrEmpty(monARessource))
throw new Exception("Could not determine which cell archive file is associated with!"); throw new Exception("Could not determine which cell archive file is associated with!");
if (_IsEAFHosted) if (_IsEAFHosted)
CallbackFileExists(sourceArchiveFile, traceDummyFile, checkDirectory, monARessource, sequence); CallbackFileExists(sourceArchiveFile, traceDummyFile, _FileConnectorConfiguration.TargetFileLocation, monARessource, sequence);
break; break;
} }
} }

View File

@ -33,6 +33,7 @@ public class Description : IDescription, Shared.Properties.IDescription
public int Red { get; set; } public int Red { get; set; }
public int Green { get; set; } public int Green { get; set; }
public int TotalDelta { get; set; } public int TotalDelta { get; set; }
public string ClosestMatchFileName { get; set; }
string IDescription.GetEventDescription() => "File Has been read and parsed"; string IDescription.GetEventDescription() => "File Has been read and parsed";
@ -82,6 +83,7 @@ public class Description : IDescription, Shared.Properties.IDescription
nameof(Red), nameof(Red),
nameof(Green), nameof(Green),
nameof(TotalDelta), nameof(TotalDelta),
nameof(ClosestMatchFileName),
}; };
return results; return results;
} }
@ -169,11 +171,12 @@ public class Description : IDescription, Shared.Properties.IDescription
Lot = processData.Text, Lot = processData.Text,
PSN = string.Empty, PSN = string.Empty,
Reactor = logistics.ProcessJobID, Reactor = logistics.ProcessJobID,
Recipe = processData.Recipe, Recipe = string.Empty,
// //
Red = processData.Red, Red = processData.Red,
Green = processData.Green, Green = processData.Green,
TotalDelta = processData.TotalDelta, TotalDelta = processData.TotalDelta,
ClosestMatchFileName = processData.ClosestMatchFileName,
}; };
results.Add(description); results.Add(description);
} }
@ -214,6 +217,7 @@ public class Description : IDescription, Shared.Properties.IDescription
Red = -1, Red = -1,
Green = -1, Green = -1,
TotalDelta = -1, TotalDelta = -1,
ClosestMatchFileName = nameof(ClosestMatchFileName),
}; };
return result; return result;
} }

View File

@ -16,13 +16,12 @@ namespace Adaptation.FileHandlers.jpeg;
public class FileRead : Shared.FileRead, IFileRead public class FileRead : Shared.FileRead, IFileRead
{ {
protected int _EndX;
protected int _EndY;
protected int _StartX;
protected int _StartY;
protected int[] _Bounds;
protected long _LastChange; protected long _LastChange;
protected string _LastText; protected string _LastText;
protected readonly int _EndX;
protected readonly int _EndY;
protected readonly int _StartX;
protected readonly int _StartY;
protected string _TessDataDirectory; protected string _TessDataDirectory;
protected List<int> _PreviousTotalDeltaCollection; protected List<int> _PreviousTotalDeltaCollection;
protected readonly Dictionary<string, string> _Reactors; protected readonly Dictionary<string, string> _Reactors;

View File

@ -25,7 +25,7 @@ public class ProcessData : IProcessData
public int Green { get; set; } public int Green { get; set; }
public string Text { get; set; } public string Text { get; set; }
public int TotalDelta { get; set; } public int TotalDelta { get; set; }
public string Recipe { get; set; } public string ClosestMatchFileName { get; set; }
List<object> Shared.Properties.IProcessData.Details => _Details; List<object> Shared.Properties.IProcessData.Details => _Details;
@ -260,8 +260,8 @@ public class ProcessData : IProcessData
totalDeltaCollection.Add(new(file, totalDelta)); totalDeltaCollection.Add(new(file, totalDelta));
} }
totalDeltaCollection = (from l in totalDeltaCollection orderby l.TotalDelta select l).ToList(); totalDeltaCollection = (from l in totalDeltaCollection orderby l.TotalDelta select l).ToList();
Recipe = Path.GetFileNameWithoutExtension(totalDeltaCollection[0].File); ClosestMatchFileName = Path.GetFileNameWithoutExtension(totalDeltaCollection[0].File);
string[] closestMatchFileNameSplit = Recipe.Split('-'); string[] closestMatchFileNameSplit = ClosestMatchFileName.Split('-');
Text = closestMatchFileNameSplit.Last().TrimStart(); Text = closestMatchFileNameSplit.Last().TrimStart();
TotalDelta = totalDeltaCollection[0].TotalDelta; TotalDelta = totalDeltaCollection[0].TotalDelta;
string textFileName = Get(fileRead, ".txt", $"{TotalDelta} - {Text}"); string textFileName = Get(fileRead, ".txt", $"{TotalDelta} - {Text}");