Beispiel #1
0
 public override List <NamedIndexedList> ConsumeFiles(string parameters, params string[] files)
 {
     foreach (var file in files)
     {
         List <List <string> > res = new List <List <string> >();
         bool first = true;
         CsvHelper.ReadCsvByTokens(file, null, (lineN, token) =>
         {
             if (res.Count <= lineN)
             {
                 first = true;
             }
             if (first)
             {
                 res.Add(new List <string>());
                 first = false;
             }
             else
             {
                 res[lineN].Add(token.Substring(token.IndexOf(' ') + 1));
             }
         });
         CsvHelper.WriteCsv(file.Insert(file.Length - 4, "_new"), null, res);
     }
     // dirty hack to avoid further file creation
     throw new Exception("clean done");
 }
Beispiel #2
0
        public override List <NamedIndexedList> ConsumeFiles(string parameters, params string[] files)
        {
            List <List <PointPositionsList> > filesPointsPositions = files.Select(file => CsvHelper.ParseFileToPointsPositions(file)).ToList();

            var result    = new List <List <string> >();
            var allPoints = RescaleRelatively(filesPointsPositions)[0];
            List <PointPositionsList.Position> pPositions;

            PointPositionsList.Position pos;
            for (var pointN = 0; pointN < allPoints.Count; ++pointN)
            {
                pPositions = allPoints[pointN].positions;
                for (var posN = 0; posN < pPositions.Count; ++posN)
                {
                    pos = pPositions[posN];
                    if (result.Count <= posN)
                    {
                        result.Add(new List <string> {
                            (1 + 100 * posN).ToString()
                        });
                    }
                    result[posN].Add(string.Format("{0} {1} {2} {3}", pointN, pos.X, pos.Y, pos.Z));
                }
            }
            CsvHelper.WriteCsv(files[0].Insert(files[0].Length - 4, "_rescaled"), null, result);
            // dirty hack to avoid further file creation
            throw new Exception("rescaling done");
        }
        public void Convert(string parameters)
        {
            if (FilesToConvert == null || FilesToConvert.Length == 0)
            {
                throw new Exception("no no no");
            }

            result = ConvertStrategy.ConsumeFiles(parameters, FilesToConvert);

            string resultDir      = Constants.DIR_BASE_OUTPUT + Constants.DIR_CONVERTED;
            string resultFilePath = string.Format("{0}{1}.csv",
                                                  resultDir,
                                                  FilesHelper.GetIncreasedVersionOfFile(
                                                      resultDir,
                                                      string.Format("{0}_{1}", ConvertStrategy.ResultFileName, ConvertId)));

            FilesHelper.WriteLogLine(resultDir + Constants.LOG_FILE_NAME, ConvertStrategy.GetLogSummary(result));
            CsvHelper.WriteCsv(resultFilePath, result, ConvertStrategy.DoIndexesMatter());
        }