my $self = shift;
my $client = shift;
my $bib = shift;
- my $xml = $bib->marc;
+ my $xml = OpenILS::Application::Ingest::entityize($bib->marc);
my $document = $parser->parse_string($xml);
$_->source($bib->id) for (@mXfe);
$_->record($bib->id) for (@mfr);
- $rd->record($bib->id);
+ $rd->record($bib->id) if ($rd);
return { full_rec => \@mfr, field_entries => \@mXfe, fingerprint => $fp, descriptor => $rd };
}
sub ro_biblio_ingest_single_xml {
my $self = shift;
my $client = shift;
- my $xml = shift;
+ my $xml = OpenILS::Application::Ingest::entityize(shift);
my $document = $parser->parse_string($xml);
my @classes = @_;
OpenILS::Application::Ingest->post_init();
- $xml = $parser->parse_string($xml) unless (ref $xml);
+ $xml = $parser->parse_string(OpenILS::Application::Ingest::entityize($xml)) unless (ref $xml);
my %transform_cache;
$log->debug("processing [$xml]");
- $xml = $parser->parse_string($xml) unless (ref $xml);
+ $xml = $parser->parse_string(OpenILS::Application::Ingest::entityize($xml)) unless (ref $xml);
my $type = 'metabib';
$type = 'authority' if ($self->api_name =~ /authority/o);
sub biblio_fingerprint {
my $self = shift;
my $client = shift;
- my $xml = shift;
+ my $xml = OpenILS::Application::Ingest::entityize(shift);
$log->internal("Got MARC [$xml]");
$fp_script = new OpenILS::Utils::ScriptRunner
( file => $script_file,
paths => $script_libs,
- reset_count => 1000 );
+ reset_count => 100 );
}
$fp_script->insert('environment' => {marc => $xml} => 1);
sub biblio_descriptor {
my $self = shift;
my $client = shift;
- my $xml = shift;
+ my $xml = OpenILS::Application::Ingest::entityize(shift);
$log->internal("Got MARC [$xml]");
$rd_script = new OpenILS::Utils::ScriptRunner
( file => $script_file,
paths => $script_libs,
- reset_count => 1000 );
+ reset_count => 100 );
}
- $rd_script->insert('environment' => {marc => $xml} => 1);
+ $log->debug("Setting up environment for descriptor extraction script...");
+ $rd_script->insert('environment.marc' => $xml => 1);
+ $log->debug("Environment building complete...");
my $res = $rd_script->run || ($log->error( "Descriptor script died! $@" ) && return undef);
- $log->debug("Script for biblio descriptor extraction completed successfully...");
+ $log->debug("Script for biblio descriptor extraction completed successfully");
return $res;
}