From d76bf876d4ce8e845a8e03a48b72a4ad4761359f Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 22 Mar 2015 11:14:42 +0100 Subject: o RRD output. --- apps/sample-convert.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'apps/sample-convert.cpp') diff --git a/apps/sample-convert.cpp b/apps/sample-convert.cpp index c6f5d01..d1c53fb 100644 --- a/apps/sample-convert.cpp +++ b/apps/sample-convert.cpp @@ -2,6 +2,7 @@ #include "json.hpp" #include "apps.h" #include +#include namespace trygvis { namespace apps { @@ -9,9 +10,12 @@ namespace apps { using namespace std; using namespace trygvis::apps; using namespace trygvis::soil_moisture; +using boost::tokenizer; namespace po = boost::program_options; class sample_convert : public app { + string fields; + string timestamp_field; public: void add_options(po::options_description_easy_init &options) override { @@ -20,7 +24,9 @@ public: ("input", po::value(&input_file)->default_value("-")) // ("input-format", po::value(&input_format)->default_value("csv")) ("output", po::value(&output_file)->default_value("-")) - ("output-format", po::value(&output_format)->default_value(sample_format_type::KEY_VALUE)); + ("output-format", po::value(&output_format)->default_value(sample_format_type::KEY_VALUE)) + ("fields", po::value(&fields)) + ("timestamp-field", po::value(×tamp_field)); } void add_extra_options(po::options_description &all_options) override { @@ -59,7 +65,21 @@ public: } } - shared_ptr output = open_sample_output_stream(outputStream, dict, output_format); + std::vector options; + trygvis::soil_moisture::timestamp_field tf(timestamp_field); + + if (!timestamp_field.empty()) { + options.push_back(&tf); + } + + tokenizer<> tok(fields); + output_fields fs; + std::copy(tok.begin(), tok.end(), std::back_inserter(fs.fields)); + if (!fs.fields.empty()) { + options.push_back(&fs); + } + + shared_ptr output = open_sample_output_stream(outputStream, dict, output_format, options); auto input = make_shared(output, dict); -- cgit v1.2.3