$log->logdie("can't open validate path $path: $!");
my $v;
- delete( $self->{must_exists} );
+ delete( $self->{must_exist} );
delete( $self->{must_exist_sf} );
delete( $self->{dont_validate} );
my $curr_line = 1;
if (@d) {
$v->{$fld} = [ map {
my $sf = $_;
- if ( $sf =~ s/!(\*)?$/$1/ ) {
+ if ( $sf =~ s/!// ) {
$self->{must_exist_sf}->{ $fld }->{ $sf }++;
};
$sf;
} else {
$log->warn("delimiters path $path doesn't exist, it will be created after this run");
}
+ $self->{delimiters_path} = $path;
}
=head2 validate_rec
# $errors->{dump} = $rec_dump if ($rec_dump);
} elsif (ref($v) ne 'HASH') {
$errors->{$f}->{missing_subfield} = join(",", @{ $r->{$f} }) . " required";
+ $errors->{$f}->{dump} = $v;
next;
} else {
if ( ref($v->{$sf}) eq 'ARRAY' ) {
$sf_repeatable->{$sf}++;
};
- if (! first { $_ eq $sf } @{ $r->{$f} }) {
+ if (! defined first { $_ eq $sf } @{ $r->{$f} }) {
$errors->{ $f }->{subfield}->{extra}->{$sf}++;
}
}
$self->{_delimiters_templates}->{$f}->{$t};
}
}
- $log->debug("_accumulated_delimiters_templates = ", sub { dump( $self->{_accumulated_delimiter_templates} ) } );
+ $log->debug("_accumulated_delimiters_templates = ", sub { dump( $self->{_accumulated_delimiters_templates} ) } );
delete ($self->{_delimiters_templates});
}
sub save_delimiters_templates {
my $self = shift;
- my $path = $self->{delimiters_path};
-
- return unless ( $path );
+ my $path = shift;
+ $path ||= $self->{delimiters_path};
my $log = $self->_get_logger;
+ $log->logdie("need path") unless ( $path );
+
+
if ( ! $self->{_accumulated_delimiters_templates} ) {
$log->error('no _accumulated_delimiters_templates found, reset');
$self->reset;
}
- if ( ! $self->{_delimiters_templates} ) {
+ if ( $self->{_delimiters_templates} ) {
$log->error('found _delimiters_templates, calling reset');
$self->reset;
}
close($d);
$log->info("new delimiters templates saved to $path");
+
+ return 1;
}
=head1 AUTHOR