summaryrefslogtreecommitdiffstats
path: root/sinksh/syntax_modules
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-02-21 14:07:57 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-02-21 14:08:27 +0100
commit17f0dd179e9fd57b41b29abe84e7e49f9a7ac8a8 (patch)
treec8d8fdf364769747cb2e82a6010037b34d24b679 /sinksh/syntax_modules
parentacf28d6f734402202be4404086e20d2739466aa8 (diff)
downloadsink-17f0dd179e9fd57b41b29abe84e7e49f9a7ac8a8.tar.gz
sink-17f0dd179e9fd57b41b29abe84e7e49f9a7ac8a8.zip
Support reductions in the list command
Diffstat (limited to 'sinksh/syntax_modules')
-rw-r--r--sinksh/syntax_modules/sink_list.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/sinksh/syntax_modules/sink_list.cpp b/sinksh/syntax_modules/sink_list.cpp
index 92c1e77..63ce527 100644
--- a/sinksh/syntax_modules/sink_list.cpp
+++ b/sinksh/syntax_modules/sink_list.cpp
@@ -92,7 +92,7 @@ QStringList printToList(const Sink::ApplicationDomain::ApplicationDomainType &o,
92bool list(const QStringList &args_, State &state) 92bool list(const QStringList &args_, State &state)
93{ 93{
94 if (args_.isEmpty()) { 94 if (args_.isEmpty()) {
95 state.printError(QObject::tr("Options: $type [--resource $resource] [--compact] [--filter $property=$value] [--id $id] [--showall|--show $property]")); 95 state.printError(QObject::tr("Options: $type [--resource $resource] [--compact] [--filter $property=$value] [--id $id] [--showall|--show $property] [--reduce $reduceProperty:$selectorProperty] [--sort $sortProperty] [--limit $count]"));
96 return false; 96 return false;
97 } 97 }
98 98
@@ -114,6 +114,11 @@ bool list(const QStringList &args_, State &state)
114 query.setSortProperty(options.options.value("sort").first().toUtf8()); 114 query.setSortProperty(options.options.value("sort").first().toUtf8());
115 } 115 }
116 116
117 if (options.options.contains("reduce")) {
118 auto value = options.options.value("reduce").first().toUtf8();
119 query.reduce(value.split(':').value(0), Sink::Query::Reduce::Selector(value.split(':').value(1), Sink::Query::Reduce::Selector::Max));
120 }
121
117 auto compact = options.options.contains("compact"); 122 auto compact = options.options.contains("compact");
118 if (!options.options.contains("showall")) { 123 if (!options.options.contains("showall")) {
119 if (options.options.contains("show")) { 124 if (options.options.contains("show")) {