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
{
string pathSegment;
string monARessource;
string sourceParentDirectory;
string targetParentDirectory;
DateTime dateTime = DateTime.Now;
if (!_FileConnectorConfiguration.TargetFileLocation.Contains(_FileConnectorConfiguration.SourceFileLocation))
throw new Exception("Target must start with source!");
if (!string.IsNullOrEmpty(Path.GetFileName(_FileConnectorConfiguration.SourceFileLocation)))
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;
if (!_IsEAFHosted || check)
{
string checkSegment;
string checkDirectory;
string monARessource;
string sourceFileFilter;
string sourceArchiveFile;
string sourceFileLocation;
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}");
if (!Directory.Exists(traceDummyDirectory))
_ = Directory.CreateDirectory(traceDummyDirectory);
string traceDummyFile = Path.Combine(traceDummyDirectory, $"{dateTime.Ticks} - {_CellInstanceName}.txt");
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++)
{
_LastDummyRunIndex += 1;
if (_LastDummyRunIndex >= _FileConnectorConfiguration.SourceFileFilters.Count)
_LastDummyRunIndex = 0;
sourceFileFilter = _FileConnectorConfiguration.SourceFileFilters[_LastDummyRunIndex];
sourceArchiveFile = Path.GetFullPath(string.Concat(sourceFileLocation, sourceFileFilter));
sourceArchiveFile = Path.Combine(_FileConnectorConfiguration.SourceFileLocation, sourceFileFilter);
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))
throw new Exception("Invalid file name for source archive file!");
pathSegment = checkDirectory.Substring(sourceFileLocation.Length);
monARessource = GetCellName(pathSegment);
monARessource = GetCellName(sourceArchiveFile);
if (string.IsNullOrEmpty(monARessource))
throw new Exception("Could not determine which cell archive file is associated with!");
if (_IsEAFHosted)
CallbackFileExists(sourceArchiveFile, traceDummyFile, checkDirectory, monARessource, sequence);
CallbackFileExists(sourceArchiveFile, traceDummyFile, _FileConnectorConfiguration.TargetFileLocation, monARessource, sequence);
break;
}
}

View File

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

View File

@ -16,13 +16,12 @@ namespace Adaptation.FileHandlers.jpeg;
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 string _LastText;
protected readonly int _EndX;
protected readonly int _EndY;
protected readonly int _StartX;
protected readonly int _StartY;
protected string _TessDataDirectory;
protected List<int> _PreviousTotalDeltaCollection;
protected readonly Dictionary<string, string> _Reactors;

View File

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