Skip to content

Commit

Permalink
review
Browse files Browse the repository at this point in the history
Signed-off-by: Peter Mitri <[email protected]>
  • Loading branch information
pet-mit committed Feb 11, 2025
1 parent 011b235 commit c3acb55
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 14 deletions.
31 changes: 18 additions & 13 deletions src/io/inputs/data-series-csv-importer/DataSeriesRepoImporter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@
*/
#include <algorithm>
#include <fstream>
#include <iterator>
#include <utility>
#include <ranges>
#include <vector>

#include <boost/algorithm/string.hpp>

#include <antares/io/inputs/data-series-csv-importer/DataSeriesRepoImporter.h>
#include <antares/optimisation/linear-problem-data-impl/timeSeriesSet.h>

namespace Antares::IO::Inputs::DataSeriesCsvImporter
{
Expand Down Expand Up @@ -129,26 +129,31 @@ static TimeSeriesSet importFromFile(const std::filesystem::path& path, std::stri
return matrixToTimeSeriesSet(path.stem().string(), csvMatrix);
}

bool hasRightExtension(const std::filesystem::directory_entry& e)
{
auto ext = e.path().extension();
return (ext == ".csv") || (ext == ".tsv");
}

DataSeriesRepository DataSeriesRepoImporter::importFromDirectory(const std::filesystem::path& path,
std::string csvSeparators)
{
if (!is_directory(path))
{
throw std::invalid_argument("Not a directory: " + path.string());
}
using std::views::filter;
auto pathFilter = filter(static_cast<bool (*)(const std::filesystem::path&)>(
&std::filesystem::is_regular_file))
| filter(&hasRightExtension);

DataSeriesRepository repo{};
for (const auto& entry: std::filesystem::directory_iterator(path))
for (auto paths = std::filesystem::directory_iterator{path};
const auto& entry: paths | pathFilter)
{
if (!is_regular_file(entry))
{
continue;
}
if (entry.path().extension() == ".csv" || entry.path().extension() == ".tsv")
{
std::unique_ptr<IDataSeries> timeSeriesSet = std::make_unique<TimeSeriesSet>(
importFromFile(entry, csvSeparators));
repo.addDataSeries(std::move(timeSeriesSet));
}
std::unique_ptr<IDataSeries> timeSeriesSet = std::make_unique<TimeSeriesSet>(
importFromFile(entry, csvSeparators));
repo.addDataSeries(std::move(timeSeriesSet));
}
return repo;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <filesystem>

#include <antares/optimisation/linear-problem-data-impl/dataSeriesRepo.h>
#include <antares/optimisation/linear-problem-data-impl/timeSeriesSet.h>

/**
* Reads a DataSeriesRepo from a directory
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <boost/test/unit_test.hpp>

#include <antares/io/inputs/data-series-csv-importer/DataSeriesRepoImporter.h>
#include <antares/optimisation/linear-problem-data-impl/timeSeriesSet.h>

using namespace std;
using namespace Antares::IO::Inputs::DataSeriesCsvImporter;
Expand Down

0 comments on commit c3acb55

Please sign in to comment.