From fe0cf84b211c029e6aaffdf98d960c3eef7041ea Mon Sep 17 00:00:00 2001 From: Rogan Hamby Date: Wed, 22 Apr 2020 15:10:20 -0400 Subject: [PATCH] simplify a few exports and add one for itemtypes --- kmig.d/bin/mig-export | 133 +++++++++++++++++++++++++++---------------------- 1 files changed, 74 insertions(+), 59 deletions(-) diff --git a/kmig.d/bin/mig-export b/kmig.d/bin/mig-export index c603c84..4b0cb19 100755 --- a/kmig.d/bin/mig-export +++ b/kmig.d/bin/mig-export @@ -24,7 +24,7 @@ my $dbh = KMig::db_connect(); my @taglist = @ARGV; my $arg_list_length = scalar @taglist; -if($arg_list_length < 1) { @taglist = ("preferences","authorisedvalues","libraries","borrowerattributes"); } +if($arg_list_length < 1) { @taglist = ("preferences","authorisedvalues","libraries","borrowerattributes","itemtypes"); } $MIGGITDIR =~ s/\/\//\//; my $timestamp = create_timestamp(); @@ -38,21 +38,19 @@ foreach my $backup (@taglist) { if ($backup eq 'authorisedvalues') { $backupfile = $MIGGITDIR . 'authorised_values' . '.' . $timestamp . '.xml'; backup_authorised_values($dbh,$backupfile); - $backupfile = $MIGGITDIR . 'authorised_value_categories' . '.' . $timestamp . '.xml'; - backup_authorised_value_categories($dbh,$backupfile); } if ($backup eq 'borrowerattributes') { - $backupfile = $MIGGITDIR . 'borrower_attribute_types' . '.' . $timestamp . '.xml'; - backup_borrower_attribute_types($dbh,$backupfile); - $backupfile = $MIGGITDIR . 'authorised_values_by_bat' . '.' . $timestamp . '.xml'; - backup_authorised_values_by_bat($dbh,$backupfile); - $backupfile = $MIGGITDIR . 'authorised_value_categories_by_bat' . '.' . $timestamp . '.xml'; - backup_authorised_value_categories_by_bat($dbh,$backupfile); + $backupfile = $MIGGITDIR . 'borrower_attributes' . '.' . $timestamp . '.xml'; + backup_borrower_attributes($dbh,$backupfile); } if ($backup eq 'libraries') { $backupfile = $MIGGITDIR . 'libraries' . '.' . $timestamp . '.xml'; backup_libraries($dbh,$backupfile); } + if ($backup eq 'itemtypes') { + $backupfile = $MIGGITDIR . 'itemtypes' . '.' . $timestamp . '.xml'; + backup_itemtypes($dbh,$backupfile); + } } sub backup_authorised_values { @@ -81,97 +79,114 @@ sub backup_authorised_values { return; } -sub backup_authorised_values_by_bat { +sub backup_borrower_attributes { my $dbh = shift; my $backupfile = shift; open(my $fh, '>', $backupfile) or die "Could not open $backupfile!"; my $xml = XML::Writer->new(OUTPUT => $fh, DATA_MODE => 1, DATA_INDENT => 2, ); $xml->xmlDecl('UTF-8'); - $xml->startTag('authorised_values'); - my $query = "SELECT category,authorised_value,lib,lib_opac,imageurl FROM authorised_values where category in (select category_code from borrower_attribute_types);"; + $xml->startTag('document'); + + $xml->startTag('borrower_attribute_types'); + my $query = "SELECT code,description,repeatable,opac_display,opac_editable,staff_searchable,authorised_value_category,display_checkout,category_code,class FROM borrower_attribute_types"; my $sth = $dbh->prepare($query); $sth->execute(); while (my @row = $sth->fetchrow_array) { $xml->startTag('value'); - $xml->dataElement('category', $row[0]); - $xml->dataElement('authvalue', $row[1]); - $xml->dataElement('lib', $row[2]); - $xml->dataElement('lib_opac', $row[3]); - $xml->dataElement('image_url', $row[4]); + $xml->dataElement('code', $row[0]); + $xml->dataElement('description', $row[1]); + $xml->dataElement('repeat', $row[2]); + $xml->dataElement('opac_display', $row[3]); + $xml->dataElement('staff_searchable', $row[4]); + $xml->dataElement('auth_value_cat', $row[5]); + $xml->dataElement('display_checkout', $row[6]); + $xml->dataElement('category_code', $row[7]); + $xml->dataElement('class', $row[8]); $xml->endTag('value'); } - $xml->endTag('authorised_values'); - $xml->end(); - close $fh; - return; -} - -sub backup_authorised_value_categories { - my $dbh = shift; - my $backupfile = shift; + $xml->endTag('borrower_attribute_types'); - open(my $fh, '>', $backupfile) or die "Could not open $backupfile!"; - my $xml = XML::Writer->new(OUTPUT => $fh, DATA_MODE => 1, DATA_INDENT => 2, ); - $xml->xmlDecl('UTF-8'); $xml->startTag('authorised_value_categories'); - my $query = "SELECT category_name FROM authorised_value_categories"; - my $sth = $dbh->prepare($query); + $query = "SELECT category_name FROM authorised_value_categories WHERE category_name IN (select category_name from borrower_attribute_types)"; + $sth = $dbh->prepare($query); $sth->execute(); while (my @row = $sth->fetchrow_array) { $xml->dataElement('value', $row[0]); } $xml->endTag('authorised_value_categories'); - $xml->end(); - close $fh; - return; -} -sub backup_authorised_value_categories_by_bat { - my $dbh = shift; - my $backupfile = shift; - - open(my $fh, '>', $backupfile) or die "Could not open $backupfile!"; - my $xml = XML::Writer->new(OUTPUT => $fh, DATA_MODE => 1, DATA_INDENT => 2, ); - $xml->xmlDecl('UTF-8'); - $xml->startTag('authorised_value_categories'); - my $query = "SELECT category_name FROM authorised_value_categories WHERE category_name IN (select category_name from borrower_attribute_types)"; - my $sth = $dbh->prepare($query); + $xml->startTag('authorised_values'); + $query = "SELECT category,authorised_value,lib,lib_opac,imageurl FROM authorised_values where category in (select category_code from borrower_attribute_types);"; + $sth = $dbh->prepare($query); $sth->execute(); while (my @row = $sth->fetchrow_array) { - $xml->dataElement('value', $row[0]); + $xml->startTag('value'); + $xml->dataElement('category', $row[0]); + $xml->dataElement('authvalue', $row[1]); + $xml->dataElement('lib', $row[2]); + $xml->dataElement('lib_opac', $row[3]); + $xml->dataElement('image_url', $row[4]); + $xml->endTag('value'); } - $xml->endTag('authorised_value_categories'); + $xml->endTag('authorised_values'); + + $xml->endTag('document'); $xml->end(); close $fh; return; } -sub backup_borrower_attribute_types { +sub backup_itemtypes { my $dbh = shift; my $backupfile = shift; open(my $fh, '>', $backupfile) or die "Could not open $backupfile!"; my $xml = XML::Writer->new(OUTPUT => $fh, DATA_MODE => 1, DATA_INDENT => 2, ); $xml->xmlDecl('UTF-8'); - $xml->startTag('borrower_attribute_types'); - my $query = "SELECT code,description,repeatable,opac_display,opac_editable,staff_searchable,authorised_value_category,display_checkout,category_code,class FROM borrower_attribute_types"; + $xml->startTag('document'); + + $xml->startTag('itemtypes'); + my $query = "SELECT itemtype, description, rentalcharge, rentalcharge_daily, rentalcharge_hourly, defaultreplacecost, processfee, notforloan, imageurl, summary, checkinmsg, checkinmsgtype, sip_media_type, hideinopac, searchcategory FROM itemtypes"; my $sth = $dbh->prepare($query); $sth->execute(); while (my @row = $sth->fetchrow_array) { $xml->startTag('value'); - $xml->dataElement('code', $row[0]); + $xml->dataElement('itemtype', $row[0]); $xml->dataElement('description', $row[1]); - $xml->dataElement('repeat', $row[2]); - $xml->dataElement('opac_display', $row[3]); - $xml->dataElement('staff_searchable', $row[4]); - $xml->dataElement('auth_value_cat', $row[5]); - $xml->dataElement('display_checkout', $row[6]); - $xml->dataElement('category_code', $row[7]); - $xml->dataElement('class', $row[8]); + $xml->dataElement('rentalcharge', $row[2]); + $xml->dataElement('rentalcharge_daily', $row[3]); + $xml->dataElement('rentalcharge_hourly', $row[4]); + $xml->dataElement('defaultreplacementcost', $row[5]); + $xml->dataElement('processfee', $row[6]); + $xml->dataElement('notforloan', $row[7]); + $xml->dataElement('imageurl', $row[8]); + $xml->dataElement('summary', $row[9]); + $xml->dataElement('checkinmsg', $row[10]); + $xml->dataElement('checkinmsgtype', $row[11]); + $xml->dataElement('sip_media_type', $row[12]); + $xml->dataElement('hideinopac', $row[13]); + $xml->dataElement('searchcategory', $row[14]); $xml->endTag('value'); } - $xml->endTag('borrower_attribute_types'); + $xml->endTag('itemtypes'); + + $xml->startTag('authorised_values'); + $query = "SELECT category,authorised_value,lib,lib_opac,imageurl FROM authorised_values where category = 'ITEMTYPECAT';"; + $sth = $dbh->prepare($query); + $sth->execute(); + while (my @row = $sth->fetchrow_array) { + $xml->startTag('value'); + $xml->dataElement('category', $row[0]); + $xml->dataElement('authvalue', $row[1]); + $xml->dataElement('lib', $row[2]); + $xml->dataElement('lib_opac', $row[3]); + $xml->dataElement('image_url', $row[4]); + $xml->endTag('value'); + } + $xml->endTag('authorised_values'); + + $xml->endTag('document'); $xml->end(); close $fh; return; -- 1.7.2.5