From 4c85e82ef5d5867c10f9d5a5f4b014b843759d83 Mon Sep 17 00:00:00 2001 From: Rogan Hamby Date: Wed, 28 Aug 2019 15:03:41 -0400 Subject: [PATCH] move stagebibs to getopt::long --- mig-bin/mig-stagebibs | 78 +++++++++++++++++-------------------------------- 1 files changed, 27 insertions(+), 51 deletions(-) diff --git a/mig-bin/mig-stagebibs b/mig-bin/mig-stagebibs index e00c1d3..c86a572 100755 --- a/mig-bin/mig-stagebibs +++ b/mig-bin/mig-stagebibs @@ -48,73 +48,49 @@ use UNIVERSAL; my $mig_bin = "$FindBin::Bin/"; use lib "$FindBin::Bin/"; use Mig; +use Getopt::Long; pod2usage(-verbose => 2) if defined $ARGV[0] && $ARGV[0] eq '--help'; pod2usage(-verbose => 1) if ! $ARGV[1]; -my $next_arg_is_file = 0; my $append = 0; -my $next_arg_is_source = 0; -my $next_arg_is_stage = 0; -my $next_arg_is_base_table = 0; -my $next_arg_is_stage_table = 0; my $base_table = 'biblio_record_entry'; my $stage_table = 'biblio_record_entry_legacy'; +my $auth = ''; +my $serial = ''; my $source = 'default'; -my $file_is_xml = 0; my $dbh = Mig::db_connect(); my $infile; my $i = 0; my $batch; binmode STDIN, ':utf8'; -foreach my $arg (@ARGV) { - if ($arg eq '--auth') { - $base_table = 'authority_record_entry'; - $stage_table = 'authority_record_entry_legacy'; - } - if ($arg eq '--serial') { - $base_table = 'serial_record_entry'; - $stage_table = 'serial_record_entry_legacy'; - } - if ($arg eq '--file') { - $next_arg_is_file = 1; - next; - } - if ($next_arg_is_file) { - $infile = $arg; - $next_arg_is_file = 0; - next; - } - if ($arg eq '--source') { - $next_arg_is_source = 1; - next; - } - if ($next_arg_is_source) { - $source = $arg; - $next_arg_is_source = 0; - next; - } - if ($arg eq '--base-table') { - $next_arg_is_base_table = 1; - next; - } - if ($next_arg_is_base_table) { - $base_table = $arg; - $next_arg_is_base_table = 0; - next; - } - if ($arg eq '--stage-table') { - $next_arg_is_stage_table = 1; - next; - } - if ($next_arg_is_stage_table) { - $stage_table = $arg; - $next_arg_is_stage_table = 0; - next; - } +my $ret = GetOptions( + 'file:s' => \$infile, + 'serial:s' => \$serial, + 'auth:s' => \$auth, + 'source:s' => \$source, + 'base_table:s' => \$base_table, + 'stage_table:s' => \$stage_table, + 'captions:s' => \$captions, + 'debug:s' => \$debug +); + +#if in file is empty then fail +#if auth and serial = 1 fail + +if ($serial == 1) { + $base_table = 'authority_record_entry'; + $stage_table = 'authority_record_entry_legacy'; +} + +if ($auth == 1) { + $base_table = 'serial_record_entry'; + $stage_table = 'serial_record_entry_legacy'; } +if ($auth == 1 and $serial == 1) { abort('are you sure you want to load these as authorities and serials?'); } + my $bre_test = check_for_table($dbh,$base_table); my $bre_legacy_test = check_for_table($dbh,$stage_table); if ($bre_test == 0 and $bre_legacy_test == 0 ) { create_bre($dbh); create_child_bre($dbh); } -- 1.7.2.5