3 use OpenSRF::EX qw/:try/;
5 use OpenSRF::Utils::SettingsClient;
6 use OpenILS::Utils::FlatXML;
10 my ($config, $userid, $sourceid, $wormize) = ('/pines/conf/bootstrap.conf', 1, 2);
14 "wormize" => \$wormize,
15 "sourceid" => \$sourceid,
16 "userid=i" => \$userid,
19 OpenSRF::System->bootstrap_client( config_file => $config );
20 my $st_server = OpenSRF::AppSession->new( 'storage' );
21 my $worm_server = OpenSRF::AppSession->new( 'worm' ) if ($wormize);
25 $worm_server->connect if ($wormize);
26 throw OpenSRF::EX::PANIC ("I can't connect to the storage server!")
27 unless ($st_server->connected);
33 while ( my $ns = OpenILS::Utils::FlatXML->new( xml => <STDIN> ) ) {
35 my $doc = $ns->xml_to_doc;
36 my $tcn = $doc->documentElement->findvalue( '/*/*[@tag="035"]' );
38 my $req = $st_server->request(
39 'open-ils.storage.biblio.record_entry.create',
48 my $resp = $req->recv;
49 unless( $resp->content ) {
50 throw OpenSRF::EX::ERROR ("Failed to create record for TCN [$tcn]!! -- $resp");
53 my $new_id = $resp->content;
58 my $nodeset = $ns->xml_to_nodeset;
60 $_->{owner_doc} = $new_id for (@$nodeset);
62 $req = $st_server->request(
63 'open-ils.storage.record_node.batch.create',
70 unless( $resp->content ) {
71 throw OpenSRF::EX::ERROR
72 ("Failed to create record_nodes for TCN [$tcn]!! -- $resp");
77 my $worm_req = $worm_server->request(
78 'open-ils.worm.record_data.digest',
85 throw OpenSRF::EX::ERROR ("Failed to create record for TCN [$tcn]!! -- $resp");