Update CsvHelper from 2.14 to 12.2.1
This commit is contained in:
+5
-3
@@ -38,9 +38,8 @@
|
||||
<HintPath>..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.Net4.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="CsvHelper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=8c4959082be5c823, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CsvHelper.2.14.2\lib\net45\CsvHelper.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Reference Include="CsvHelper, Version=12.0.0.0, Culture=neutral, PublicKeyToken=8c4959082be5c823, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CsvHelper.12.2.1\lib\net45\CsvHelper.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
|
||||
@@ -71,6 +70,9 @@
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="AutoMapper" version="3.3.1" targetFramework="net45" />
|
||||
<package id="CsvHelper" version="2.14.2" targetFramework="net45" />
|
||||
<package id="CsvHelper" version="12.2.1" targetFramework="net45" />
|
||||
<package id="EntityFramework" version="6.2.0" targetFramework="net45" />
|
||||
<package id="fasterflect" version="2.1.3" targetFramework="net45" />
|
||||
<package id="log4net" version="2.0.8" targetFramework="net45" />
|
||||
<package id="MathNet.Numerics" version="4.5.1" targetFramework="net45" />
|
||||
<package id="Microsoft.CSharp" version="4.5.0" targetFramework="net45" />
|
||||
<package id="MlkPwgen" version="0.3.0" targetFramework="net45" />
|
||||
<package id="System.ValueTuple" version="4.4.0" targetFramework="net45" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user