autoset marcfile on prefix
[migration-tools.git] / extract_holdings
index 91febc9..051175a 100755 (executable)
@@ -47,7 +47,7 @@ sub extract_holdings {
     my $j = 0; # holdings counter
 
     while (  $m->{data}{recs}[$i] ) {
-        print HOLDINGS "BEGIN;\n\negid\thseq\t" unless $j;
+        print HOLDINGS "BEGIN;\n\negid, hseq, " unless $j;
         my $rec = $m->{data}{recs}[$i];
         my $k = 0; # holding-within-record pointer
         # for each holdings tag in the record...
@@ -63,7 +63,7 @@ sub extract_holdings {
             # grab the unary mappings and slug 'em in
             for my $sub ( sort keys %{$rec->{tags}[$holdidx]{uni}} ) {
                 push @out, $rec->{tags}[$holdidx]{uni}{$sub};
-                print HOLDINGS "l_", $m->name($tagid, $sub),"\t" unless $j;
+                print HOLDINGS "l_", $m->name($tagid, $sub),", " unless $j;
             }
 
             # handle holdings multis
@@ -81,7 +81,8 @@ sub extract_holdings {
                 my $idx = $rec->{tmap}{$othertag}[0]; # get index into tags struct
                 for my $sub ( sort keys %{$rec->{tags}[$idx]{uni}} ) {
                     push @out, $rec->{tags}[$idx]{uni}{$sub};
-                    print "l_", $m->name($rec->{tags}[$idx]{tag}, $sub), "\t" unless $j;
+                    print HOLDINGS "l_", $m->name($rec->{tags}[$idx]{tag}, $sub), ", "
+                      unless $j;
                 }
             }
 
@@ -204,6 +205,10 @@ sub initialize {
       if ($c->{map} and !($c->{holdings} and $c->{copyid}));
     show_version() if $c->{version};
 
+    if ($c->{prefix} and !$c->{marcfile}) {
+        $c->{marcfile} = $c->{prefix} . ".clean.marc.xml";
+    }
+
     my @keys = keys %{$c};
     for my $key ('prefix', 'marcfile')
       { push @missing, $key unless $c->{$key} }
@@ -225,6 +230,7 @@ Usage is: extract_holdings -p PREFIX -m MARCFILE [ARGUMENTS]
 REQUIRED ARGUMENTS
   --prefix   -p  Prefix string for output filenames
   --marcfile -m  MARCXML to use as source data
+                 Defaults to 'PREFIX.clean.marc.xml'
 
 SAMPLING ARGUMENTS
   --sample    -s   Generate a report of all tags in the MARC data