/[webpac2]/trunk/lib/WebPAC/Validate.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/WebPAC/Validate.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 848 by dpavlin, Fri May 25 19:49:39 2007 UTC revision 849 by dpavlin, Sun May 27 10:50:37 2007 UTC
# Line 18  WebPAC::Validate - provide simple valida Line 18  WebPAC::Validate - provide simple valida
18    
19  =head1 VERSION  =head1 VERSION
20    
21  Version 0.11  Version 0.12
22    
23  =cut  =cut
24    
25  our $VERSION = '0.11';  our $VERSION = '0.12';
26    
27  =head1 SYNOPSIS  =head1 SYNOPSIS
28    
# Line 302  sub validate_rec { Line 302  sub validate_rec {
302          return $errors;          return $errors;
303  }  }
304    
305  =head2 reset_errors  =head2 reset
306    
307  Clean all accumulated errors for this input  Clean all accumulated errors for this input and remember delimiter templates
308    for L<save_delimiters_templates>
309    
310    $validate->reset_errors;    $validate->reset;
311    
312    This function B<must> be called after each input to provide accurate statistics.
313    
314  =cut  =cut
315    
316  sub reset_errors {  sub reset {
317          my $self = shift;          my $self = shift;
318    
319            my $log = $self->_get_logger;
320    
321          delete ($self->{errors});          delete ($self->{errors});
322    
323            if ( ! $self->{_delimiters_templates} ) {
324                    $log->debug("called without _delimiters_templates?");
325                    return;
326            }
327    
328            foreach my $f ( keys %{ $self->{_delimiters_templates} } ) {
329                    foreach my $t ( keys %{ $self->{_delimiters_templates}->{$f} } ) {
330                            $self->{_accumulated_delimiters_templates}->{$f}->{$t} +=
331                                    $self->{_delimiters_templates}->{$f}->{$t};
332                    }
333            }
334            $log->debug("_accumulated_delimiters_templates = ", dump( $self->{_accumulated_delimiter_templates} ));
335            delete ($self->{_delimiters_templates});
336  }  }
337    
338  =head2 all_errors  =head2 all_errors
# Line 448  Generate report of delimiter tamplates Line 468  Generate report of delimiter tamplates
468    
469    my $report = $validate->delimiter_teplates(    my $report = $validate->delimiter_teplates(
470          report => 1,          report => 1,
471            accumulated => 1,
472    );    );
473    
474  Options:  Options:
# Line 458  Options: Line 479  Options:
479    
480  Generate humanly readable report with single fields  Generate humanly readable report with single fields
481    
482    =item accumulated
483    
484    Use accumulated data from all inputs
485    
486  =back  =back
487    
488  =cut  =cut
# Line 467  sub delimiters_templates { Line 492  sub delimiters_templates {
492    
493          my $args = {@_};          my $args = {@_};
494    
495          my $t = $self->{_delimiters_templates};          my $t;
496            if ( $args->{accumulated} ) {
497                    $t = $self->{_accumulated_delimiters_templates};
498            } else {
499                    $t = $self->{_delimiters_templates};
500            }
501    
502          my $log = $self->_get_logger;          my $log = $self->_get_logger;
503    
# Line 494  sub delimiters_templates { Line 524  sub delimiters_templates {
524    
525  =head2 save_delimiters_templates  =head2 save_delimiters_templates
526    
527    Save accumulated delimiter templates
528    
529      $validator->save_delimiters_template( '/path/to/validate/delimiters' );
530    
531  =cut  =cut
532    
533  sub save_delimiters_templates {  sub save_delimiters_templates {
# Line 505  sub save_delimiters_templates { Line 539  sub save_delimiters_templates {
539    
540          my $log = $self->_get_logger;          my $log = $self->_get_logger;
541    
542            if ( ! $self->{_accumulated_delimiters_templates} ) {
543                    $log->error('no _accumulated_delimiters_templates found, reset');
544                    $self->reset;
545            }
546    
547            if ( ! $self->{_delimiters_templates} ) {
548                    $log->error('found _delimiters_templates, calling reset');
549                    $self->reset;
550            }
551    
552          $path .= '.new' if ( -e $path );          $path .= '.new' if ( -e $path );
553    
554          open(my $d, '>', $path) || $log->fatal("can't open $path: $!");          open(my $d, '>', $path) || $log->fatal("can't open $path: $!");
555          print $d $self->delimiters_templates;          print $d $self->delimiters_templates( accumulated => 1 );
556          close($d);          close($d);
557    
558          $log->info("new delimiters templates saved to $path");          $log->info("new delimiters templates saved to $path");

Legend:
Removed from v.848  
changed lines
  Added in v.849

  ViewVC Help
Powered by ViewVC 1.1.26