Bugzilla – Attachment 2724 Details for
Bug 5332
Add batch reversion capability to bin/commit_biblios_file.pl
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
version with new functionality
commit_biblios_file.pl (text/x-perl-script), 4.63 KB, created by
Doug Kingston
on 2010-10-31 11:22:00 UTC
(
hide
)
Description:
version with new functionality
Filename:
MIME Type:
Creator:
Doug Kingston
Created:
2010-10-31 11:22:00 UTC
Size:
4.63 KB
patch
obsolete
>#!/usr/bin/perl > >use strict; >#use warnings; FIXME - Bug 2505 >BEGIN { > # find Koha's Perl modules > # test carefully before changing this > use FindBin; > eval { require "$FindBin::Bin/kohalib.pl" }; >} > >use C4::Context; >use C4::ImportBatch; >use Getopt::Long; > >$| = 1; > ># command-line parameters >my $batch_number = ""; >my $list_batches = 0; >my $progress_interval = 100; >my $want_help = 0; >my $revert = 0; > >my $result = GetOptions( > 'batch-number:s' => \$batch_number, > 'list-batches' => \$list_batches, > 'progress-interval' => \$progress_interval, > 'revert' => \$revert, > 'h|help' => \$want_help >); > >if ($want_help or (not $batch_number and not $list_batches)) { > print_usage(); > exit 0; >} > >if ($list_batches) { > list_batches(); > exit 0; >} > ># FIXME dummy user so that logging won't fail ># in future, probably should tie to a real user account >C4::Context->set_userenv(0, 'batch', 0, 'batch', 'batch', 'batch', 'batch', 'batch'); > >my $dbh = C4::Context->dbh; >$dbh->{AutoCommit} = 0; >if ($batch_number =~ /^\d+$/ and $batch_number > 0) { > my $batch = GetImportBatch($batch_number); > die "$0: import batch $batch_number does not exist in database\n" unless defined $batch; > die "$0: import batch $batch_number status is '" . $batch->{'import_status'} . "', and therefore cannot be imported\n" > unless $batch->{'import_status'} eq "staged" or $batch->{'import_status'} eq "reverted"; > if ($revert) { > revert_batch($batch_number); > } else { > process_batch($batch_number); > } > $dbh->commit(); >} else { > die "$0: please specify a numeric batch ID\n"; >} > >exit 0; > >sub list_batches { > my $results = GetAllImportBatches(); > print sprintf("%5.5s %-25.25s %-25.25s %-10.10s\n", "#", "File name", "Batch comments", "Status"); > print '-' x 5, ' ' , '-' x 25, ' ', '-' x 25, ' ', '-' x 10, "\n" ; > foreach my $batch (@{ $results}) { > if ($batch->{'import_status'} eq "staged" or $batch->{'import_status'} eq "reverted") { > print sprintf("%5.5s %-25.25s %-25.25s %-10.10s\n", > $batch->{'import_batch_id'}, > $batch->{'file_name'}, > $batch->{'comments'}, > $batch->{'import_status'}); > } > } >} > >sub process_batch { > my ($import_batch_id) = @_; > > print "... importing MARC records -- please wait\n"; > my ($num_added, $num_updated, $num_items_added, $num_items_errored, $num_ignored) = > BatchCommitBibRecords($import_batch_id, $progress_interval, \&print_progress_and_commit); > print "... finished importing MARC records\n"; > > print <<_SUMMARY_; > >MARC record import report >---------------------------------------- >Batch number: $import_batch_id >Number of new bibs added: $num_added >Number of bibs replaced: $num_updated >Number of bibs ignored: $num_ignored >Number of items added: $num_items_added >Number of items ignored: $num_items_errored > >Note: an item is ignored if its barcode is a >duplicate of one already in the database. >_SUMMARY_ >} > >sub revert_batch { > my ($import_batch_id) = @_; > > print "... reverting MARC records -- please wait\n"; > my ($num_deleted, $num_errors, $num_reverted, $num_items_deleted, $num_ignored) = > BatchRevertBibRecords($import_batch_id); > print "... finished revrting MARC records\n"; > > print <<_SUMMARY_; > >MARC record reversion report >---------------------------------------- >Batch number: $import_batch_id >Number of bibs deleted: $num_deleted >Number of errors: $num_errors >Number of bibs reverted: $num_reverted >Number of items deleted: $num_items_deleted >Number of ignored: $num_ignored > >Note: an item is ignored if its in batch but not actually commited. >_SUMMARY_ >} > >sub print_progress_and_commit { > my $recs = shift; > print "... processed $recs records\n"; > $dbh->commit(); >} > >sub print_usage { > print <<_USAGE_; >$0: import a batch of staged MARC records into database. > >Use this batch job to complete the import of a batch of >MARC records that was staged either by the batch job >stage_biblios_file.pl or by the Koha Tools option >"Stage MARC Records for Import". > >Parameters: > --batch-number <#> number of the record batch > to import > --progress-interval <#> update import progress every <#> records > (default 100) > --revert revert the batch rather than commiting it > --list-batches print a list of record batches > available to commit > --help or -h show this message. >_USAGE_ >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 5332
: 2724 |
2725
|
2747
|
2748
|
10232