コード例 #1
0
ファイル: DnsServerParser.cs プロジェクト: unfrl/dug
        public ParallelQuery <DnsServer> ParseServersFromStream(Stream stream, ICsvMapping <DnsServer> format, bool skipHeaders, char separator)
        {
            var parserOptions = new CsvParserOptions(skipHeaders, separator);
            var parser        = new CsvParser <DnsServer>(parserOptions, format);

            return(parser.ReadFromStream(stream, Encoding.UTF8).Where(res => res.IsValid).Select(res => res.Result));
        }
コード例 #2
0
        public static IEnumerable <T> GetRecords <T>(string fileName, ICsvMapping <T> Mapping)
        {
            string           currentFolder    = AppDomain.CurrentDomain.BaseDirectory;
            CsvParserOptions csvParserOptions = new CsvParserOptions(true, ',');
            var csvParser = new CsvParser <T>(csvParserOptions, Mapping);
            var records   = csvParser.ReadFromFile(Path.Combine(currentFolder, fileName), Encoding.UTF8);

            return(records.Select(x => x.Result).ToList());
        }
コード例 #3
0
        public IncrementalDataFileParser(
            ICsvMapping <IncrementalClaimData> mapping,
            IConfig config,
            ILog logger)
        {
            _config = config;
            _logger = logger;
            var csvParserOptions = new CsvParserOptions(true, ',');

            _csvParser = new CsvParser <IncrementalClaimData>(csvParserOptions, mapping);
        }
コード例 #4
0
        public static async Task <List <T> > ReadCsv <T>(ICsvMapping <T> mapping, IBrowserFile file)
        {
            CsvParserOptions csvParserOptions = new CsvParserOptions(true, ',');
            CsvParser <T>    csvParser        = new CsvParser <T>(csvParserOptions, mapping);

            using var reader = new StreamReader(file.OpenReadStream());
            var line = await reader.ReadToEndAsync();

            CsvReaderOptions csvReaderOptions = new CsvReaderOptions(new string[] { "\r", "\n" });
            var results = csvParser.ReadFromString(csvReaderOptions, line);

            return(results.Select(x => x.Result).ToList());
        }
コード例 #5
0
ファイル: CsvParser.cs プロジェクト: relaxar/TinyCsvParser
 public CsvParser(CsvParserOptions options, ICsvMapping <TEntity> mapping)
 {
     this.options = options;
     this.mapping = mapping;
 }
コード例 #6
0
 public LPDataLoader(ICsvMapping <LPData> csvMapping, IS3Service s3Service, ILogger <LPDataLoader> logger)
 {
     _csvMapping = csvMapping;
     _s3Service  = s3Service;
     _logger     = logger;
 }
コード例 #7
0
ファイル: DnsServerService.cs プロジェクト: unfrl/dug
 public List <DnsServer> ParseServersFromStream(Stream stream, ICsvMapping <DnsServer> format, bool skipHeaders, char separator)
 {
     //This is almost always used in a 'using' context, so we dont want to return an IEnumerable where the actual enumeration would likely occur outside of that context
     return(_serverParser.ParseServersFromStream(stream, format, skipHeaders, separator).Where(server => server.IPAddress != null).ToList());
 }
コード例 #8
0
ファイル: DnsServerService.cs プロジェクト: unfrl/dug
        // Returns the number of servers added
        // If overwrite is set the current server list is overwritten, instead of being updated with novel servers
        private int LoadServersFromStream(Stream stream, ICsvMapping <DnsServer> format, bool skipHeaders, char separator, bool overwrite)
        {
            var parsedServers = ParseServersFromStream(stream, format, skipHeaders, separator).ToList();

            return(LoadServers(parsedServers, overwrite));
        }
コード例 #9
0
 public CSVImporter(ICsvMapping <T> csvMapper)
 {
     this.csvMapper = csvMapper ?? throw new ArgumentNullException(nameof(csvMapper));
 }