App-MARC-Validator

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

no_index:
  directory:
    - examples
    - inc
    - t
    - xt
requires:
  Class::Utils: 0
  Cpanel::JSON::XS: 0
  Data::MARC::Validator::Report: 0.02
  DateTime: 0
  English: 0
  Getopt::Std: 0
  IO::Barf: 0
  IO::Uncompress::AnyUncompress: 0
  List::Util: 1.33
  MARC::Batch: 0
  MARC::File::XML: 1.0.4
  MARC::Validator: 0.14
  MARC::Validator::Filter: 0
  Unicode::UTF8: 0

Makefile.PL  view on Meta::CPAN

author_requires 'Test::Pod::Coverage' => 0;
install_script 'bin/marc-validator';
license 'bsd';
name 'App-MARC-Validator';
perl_version 5.006;
readme_from 'bin/marc-validator';
recursive_author_tests('xt');
requires 'Class::Utils' => 0;
requires 'Cpanel::JSON::XS' => 0;
requires 'Data::MARC::Validator::Report' => 0.02;
requires 'DateTime' => 0;
requires 'English' => 0;
requires 'Getopt::Std' => 0;
requires 'IO::Barf' => 0;
requires 'IO::Uncompress::AnyUncompress' => 0;
requires 'List::Util' => 1.33;
requires 'MARC::Batch' => 0;
requires 'MARC::File::XML' => '1.0.4';
requires 'MARC::Validator' => 0.14;
requires 'MARC::Validator::Filter' => 0;
requires 'Unicode::UTF8' => 0;

Validator.pm  view on Meta::CPAN

package App::MARC::Validator;

use strict;
use warnings;

use App::MARC::Validator::Utils qw(obj_to_json);
use Class::Utils qw(set_params);
use Data::MARC::Validator::Report;
use DateTime;
use English;
use Getopt::Std;
use IO::Barf qw(barf);
use IO::Uncompress::AnyUncompress qw($AnyUncompressError);
use List::Util 1.33 qw(none);
use MARC::Batch;
use MARC::File::XML (BinaryEncoding => 'utf8', RecordFormat => 'MARC21');
use MARC::Validator 0.14;
use MARC::Validator::Filter;
use Unicode::UTF8 qw(encode_utf8);

Validator.pm  view on Meta::CPAN

			}
		}
	}
	$self->_postprocess_plugins;

	my @plugin_reports;
	foreach my $plugin_obj (@{$self->{'_plugins'}}) {
		push @plugin_reports, $plugin_obj->report;
	}
	my $report = Data::MARC::Validator::Report->new(
		'datetime' => DateTime->now,
		'plugins' => \@plugin_reports,
	);

	my $json = obj_to_json($self, $report);

	# Save to file.
	if (defined $self->{'_opts'}->{'o'}) {
		barf($self->{'_opts'}->{'o'}, encode_utf8($json));

	# Print to STDOUT.

Validator.pm  view on Meta::CPAN


 new():
         From Class::Utils::set_params():
                 Unknown parameter '%s'.

=head1 DEPENDENCIES

L<App::MARC::Validator::Utils>,
L<Class::Utils>,
L<Data::MARC::Validator::Report>,
L<DateTime>,
L<English>,
L<Getopt::Std>,
L<IO::Barf>,
L<IO::Uncompress::AnyUncompress>,
L<List::Util>,
L<MARC::Batch>,
L<MARC::File::XML>,
L<MARC::Validator>,
L<MARC::Validator::Filter>,
L<Unicode::UTF8>.

Validator/Utils.pm  view on Meta::CPAN

=for comment filename=obj_to_json.pl

 use strict;
 use warnings;

 use App::MARC::Validator::Utils qw(obj_to_json);
 use Data::MARC::Validator::Report;
 use Data::MARC::Validator::Report::Error;
 use Data::MARC::Validator::Report::Plugin;
 use Data::MARC::Validator::Report::Plugin::Errors;
 use DateTime;

 # Create data object for validator report.
 my $report = Data::MARC::Validator::Report->new(
         'datetime' => DateTime->now,
         'plugins' => [
                 Data::MARC::Validator::Report::Plugin->new(
                        'module_name' => 'MARC::Validator::Plugin::Foo',
                        'name' => 'foo',
                        'plugin_errors' => [
                                Data::MARC::Validator::Report::Plugin::Errors->new(
                                        'errors' => [
                                                Data::MARC::Validator::Report::Error->new(
                                                        'error' => 'Error #1',
                                                        'params' => {

examples/obj_to_json.pl  view on Meta::CPAN

#!/usr/bin/env perl

use strict;
use warnings;

use App::MARC::Validator::Utils qw(obj_to_json);
use Data::MARC::Validator::Report;
use Data::MARC::Validator::Report::Error;
use Data::MARC::Validator::Report::Plugin;
use Data::MARC::Validator::Report::Plugin::Errors;
use DateTime;

# Create data object for validator report.
my $report = Data::MARC::Validator::Report->new(
        'datetime' => DateTime->now,
        'plugins' => [
                Data::MARC::Validator::Report::Plugin->new(
                       'module_name' => 'MARC::Validator::Plugin::Foo',
                       'name' => 'foo',
                       'plugin_errors' => [
                               Data::MARC::Validator::Report::Plugin::Errors->new(
                                       'errors' => [
                                               Data::MARC::Validator::Report::Error->new(
                                                       'error' => 'Error #1',
                                                       'params' => {



( run in 0.865 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )