Update CsvHelper from 2.14 to 12.2.1
This commit is contained in:
@@ -15,18 +15,25 @@ namespace LeafWeb.Core.Parsers
|
||||
protected CsvParserBase(FileSystemInfo csvFile)
|
||||
{
|
||||
_reader = OpenCsv(csvFile);
|
||||
var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, IgnoreBlankLines = false, IgnoreReadingExceptions = true};
|
||||
CsvReader = new CsvReader(_reader, csvConfiguration);
|
||||
}
|
||||
CsvReader = InitCsvReader(_reader);
|
||||
}
|
||||
|
||||
protected CsvParserBase(byte[] fileContents)
|
||||
{
|
||||
_memoryStream = new MemoryStream(fileContents);
|
||||
_reader = new StreamReader(_memoryStream);
|
||||
|
||||
var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, IgnoreBlankLines = false, IgnoreReadingExceptions = true };
|
||||
CsvReader = new CsvReader(_reader, csvConfiguration);
|
||||
}
|
||||
CsvReader = InitCsvReader(_reader);
|
||||
}
|
||||
|
||||
private static CsvReader InitCsvReader(StreamReader reader)
|
||||
{
|
||||
var csvReader = new CsvReader(reader);
|
||||
csvReader.Configuration.HasHeaderRecord = false;
|
||||
csvReader.Configuration.IgnoreBlankLines = false;
|
||||
csvReader.Configuration.ReadingExceptionOccurred = exception => false;
|
||||
return csvReader;
|
||||
}
|
||||
|
||||
internal static StreamReader OpenCsv(FileSystemInfo csvFile)
|
||||
{
|
||||
@@ -42,7 +49,7 @@ namespace LeafWeb.Core.Parsers
|
||||
if (!CsvReader.Read())
|
||||
return null;
|
||||
|
||||
return CsvReader.CurrentRecord;
|
||||
return CsvReader.Context.Record;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace LeafWeb.Core.Parsers
|
||||
{
|
||||
private readonly FileSystemInfo _csvFile;
|
||||
|
||||
private sealed class FluxnetSiteMap : CsvClassMap<FluxnetSite>
|
||||
private sealed class FluxnetSiteMap : ClassMap<FluxnetSite>
|
||||
{
|
||||
public FluxnetSiteMap()
|
||||
{
|
||||
@@ -31,9 +31,9 @@ namespace LeafWeb.Core.Parsers
|
||||
{
|
||||
using (var reader = CsvParserBase.OpenCsv(_csvFile))
|
||||
{
|
||||
var csvConfiguration = new CsvConfiguration {IsHeaderCaseSensitive = false};
|
||||
csvConfiguration.RegisterClassMap<FluxnetSiteMap>();
|
||||
var csvReader = new CsvReader(reader, csvConfiguration);
|
||||
var csvReader = new CsvReader(reader);
|
||||
csvReader.Configuration.PrepareHeaderForMatch = (s, i) => s.ToLowerInvariant();
|
||||
csvReader.Configuration.RegisterClassMap<FluxnetSiteMap>();
|
||||
return csvReader.GetRecords<FluxnetSite>().ToList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,10 +20,10 @@ namespace LeafWeb.Core.Parsers
|
||||
{
|
||||
var fittingTitles = GetNextCsvRowValues();
|
||||
if (fittingTitles == null)
|
||||
throw new ParseException($"Could not read data header row on line number {CsvReader.Row}");
|
||||
throw new ParseException($"Could not read data header row on line number {CsvReader.Context.Row}");
|
||||
var fitUnits = GetNextCsvRowValues();
|
||||
if (fitUnits == null)
|
||||
throw new ParseException($"Could not read data units row on line number {CsvReader.Row}");
|
||||
throw new ParseException($"Could not read data units row on line number {CsvReader.Context.Row}");
|
||||
|
||||
return ParseLeafGasComparisonSet(fittingTitles, matchCurveId).ToArray();
|
||||
}
|
||||
@@ -32,10 +32,10 @@ namespace LeafWeb.Core.Parsers
|
||||
{
|
||||
var fittingTitles = GetNextCsvRowValues();
|
||||
if (fittingTitles == null)
|
||||
throw new ParseException($"Could not read data header row on line number {CsvReader.Row}");
|
||||
throw new ParseException($"Could not read data header row on line number {CsvReader.Context.Row}");
|
||||
var fitUnits = GetNextCsvRowValues();
|
||||
if (fitUnits == null)
|
||||
throw new ParseException($"Could not read data units row on line number {CsvReader.Row}");
|
||||
throw new ParseException($"Could not read data units row on line number {CsvReader.Context.Row}");
|
||||
|
||||
return ExtractSectionCurveIds(fittingTitles).Distinct().ToArray();
|
||||
}
|
||||
@@ -53,7 +53,7 @@ namespace LeafWeb.Core.Parsers
|
||||
.Create(fittingTitles, new[] {values});
|
||||
yield return fittingInfo[0].CurveID;
|
||||
|
||||
while (!CsvReader.IsRecordEmpty())
|
||||
while (CsvReader.Context.Record.Length != 0)
|
||||
values = GetNextCsvRowValues();
|
||||
} while (values != null);
|
||||
}
|
||||
@@ -71,12 +71,11 @@ namespace LeafWeb.Core.Parsers
|
||||
while (true)
|
||||
{
|
||||
var values = GetNextCsvRowValues();
|
||||
if (CsvReader.IsRecordEmpty())
|
||||
if (values == null) // end of file
|
||||
yield break;
|
||||
if (string.IsNullOrEmpty(CsvReader.Context.RawRecord))
|
||||
continue;
|
||||
//throw new ParseException($"Encountered empty line while reading fitting info on line {CsvReader.Row}");
|
||||
if (values == null) // end of file
|
||||
yield break;
|
||||
if (matcher.IsPropertiesTitlesMatch(values))
|
||||
if (matcher.IsPropertiesTitlesMatch(values))
|
||||
{
|
||||
photosyntheticTitles = values;
|
||||
break;
|
||||
@@ -97,7 +96,7 @@ namespace LeafWeb.Core.Parsers
|
||||
while (true)
|
||||
{
|
||||
var values = GetNextCsvRowValues();
|
||||
if (CsvReader.IsRecordEmpty()) // end of set
|
||||
if (CsvReader.Context.Record.Length == 0) // end of set
|
||||
break;
|
||||
if (values == null)
|
||||
{
|
||||
|
||||
@@ -43,11 +43,11 @@ namespace LeafWeb.Core.Parsers
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
if (!CsvReader.Read())
|
||||
throw new ParseException("Could not read line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read line number " + CsvReader.Context.Row);
|
||||
|
||||
string field;
|
||||
if (!CsvReader.TryGetField(0, out field))
|
||||
throw new ParseException("Could not read first field on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read first field on line number " + CsvReader.Context.Row);
|
||||
items.Add(field);
|
||||
}
|
||||
return ParsedObjectFactory<LeafInputData>.Create(items.ToArray());
|
||||
@@ -57,13 +57,13 @@ namespace LeafWeb.Core.Parsers
|
||||
{
|
||||
var titles = GetNextCsvRowValues();
|
||||
if (titles == null)
|
||||
throw new ParseException("Could not read site header row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read site header row on line number " + CsvReader.Context.Row);
|
||||
var units = GetNextCsvRowValues();
|
||||
if (units == null)
|
||||
throw new ParseException("Could not read site units row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read site units row on line number " + CsvReader.Context.Row);
|
||||
var values = GetNextCsvRowValues();
|
||||
if (values == null)
|
||||
throw new ParseException("Could not read site value row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read site value row on line number " + CsvReader.Context.Row);
|
||||
|
||||
var items = new List<Tuple<string, string>>();
|
||||
for (var i = 0; i < titles.Length && i < values.Length; i++)
|
||||
@@ -78,13 +78,13 @@ namespace LeafWeb.Core.Parsers
|
||||
{
|
||||
var titles = GetNextCsvRowValues();
|
||||
if (titles == null)
|
||||
throw new ParseException("Could not read photosynthetic header row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read photosynthetic header row on line number " + CsvReader.Context.Row);
|
||||
var units = GetNextCsvRowValues();
|
||||
if (units == null)
|
||||
throw new ParseException("Could not read photosynthetic units row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read photosynthetic units row on line number " + CsvReader.Context.Row);
|
||||
var values = GetNextCsvRowValues();
|
||||
if (values == null)
|
||||
throw new ParseException("Could not read photosynthetic value row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read photosynthetic value row on line number " + CsvReader.Context.Row);
|
||||
|
||||
var items = new List<Tuple<string, string>>();
|
||||
for (var i = 0; i < titles.Length && i < values.Length; i++)
|
||||
@@ -99,10 +99,10 @@ namespace LeafWeb.Core.Parsers
|
||||
{
|
||||
var titles = GetNextCsvRowValues();
|
||||
if (titles == null)
|
||||
throw new ParseException("Could not read data header row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read data header row on line number " + CsvReader.Context.Row);
|
||||
var units = GetNextCsvRowValues();
|
||||
if (units == null)
|
||||
throw new ParseException("Could not read data units row on line number " + CsvReader.Row);
|
||||
throw new ParseException("Could not read data units row on line number " + CsvReader.Context.Row);
|
||||
|
||||
var valueArrays = new List<string[]>();
|
||||
while (true)
|
||||
|
||||
Reference in New Issue
Block a user