From 108349b6acc28ae3a11147c598043176a2071ce9 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 27 Jun 2010 00:41:58 +0200 Subject: [PATCH] eval code snippet on facet data Using $out to generate results and $v for value and $c for count --- lib/MojoFacets/Data.pm | 15 +++++++++++++++ templates/admin.html.ep | 5 +++++ templates/data/facet.html.ep | 13 +++++++++++++ 3 files changed, 33 insertions(+) diff --git a/lib/MojoFacets/Data.pm b/lib/MojoFacets/Data.pm index 4e842ed..3d1ac65 100644 --- a/lib/MojoFacets/Data.pm +++ b/lib/MojoFacets/Data.pm @@ -932,6 +932,21 @@ sub facet { } } + if ( my $code = $self->param('code') ) { + my $out; + foreach my $v ( keys %$facet ) { + my $c = $facet->{$v}; + eval $code; + if ( $@ ) { + $out = $@; + warn "ERROR: $@\n$code\n"; + last; + } + } + warn "out ",dump( $out ); + $self->stash( out => $out ); + } + # warn "# facet $name ",dump $facet; my $checked; diff --git a/templates/admin.html.ep b/templates/admin.html.ep index e26dca0..5d01f8e 100644 --- a/templates/admin.html.ep +++ b/templates/admin.html.ep @@ -19,6 +19,11 @@ items: code +% if ( my $id = stash('nytprof.id') ) { +· +profile +% } + diff --git a/templates/data/facet.html.ep b/templates/data/facet.html.ep index 03f196c..10cca77 100644 --- a/templates/data/facet.html.ep +++ b/templates/data/facet.html.ep @@ -55,6 +55,19 @@ First <%= $max_facets %> shown +% if ( my $out = stash('out') ) { +
<%= dumper $out %>
+% } +
+ +Eval code on each facet value and count: +$out->{sum} += $v * $c
+ + +
+ % if ( $#$facet_names < 5000 ) { % } -- 2.20.1