output the deleted column from fast-extract; use said column in marc_add_ids
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 29 Jan 2009 20:02:17 +0000 (20:02 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 29 Jan 2009 20:02:17 +0000 (20:02 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12014 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/extras/fast-extract
Open-ILS/src/extras/import/marc_add_ids

index 4c59642..79bf8fb 100755 (executable)
@@ -18,12 +18,13 @@ binmode(STDOUT, ':utf8');
 
 $| = 1;
 
-my ($config, $delim, $after) = ('SYSCONFDIR/opensrf_core.xml', ' | ');
+my ($config, $delim, $after,$deleted) = ('SYSCONFDIR/opensrf_core.xml', ' | ');
 
 GetOptions(
        "after=s"       => \$after,
        "boostrap=s"    => \$config,
        "delimiter=s"   => \$delim,
+       "include-deleted"       => \$deleted,
 );
 
 OpenSRF::System->bootstrap_client( config_file => $config );
@@ -49,6 +50,7 @@ my $dbh = DBI->connect($dsn,$db_user,$db_pw, {AutoCommit => 1, pg_enable_utf8 =>
 
 my $SQL = 'SELECT id FROM biblio.record_entry WHERE id > 0';
 $SQL .= " AND edit_date > '$after'" if ($after);
+$SQL .= " AND deleted IS FALSE" if (!$deleted);
 
 my $ids = $dbh->selectcol_arrayref($SQL);
 
@@ -63,6 +65,6 @@ SQL
 
 for my $id ( @$ids ) {
     my $row = $dbh->selectrow_hashref( $SQL, {}, $id );
-    print "$$row{id}$delim$$row{tnc_source}$delim$$row{tcn_value}$delim$$row{marc}\n";
+    print "$$row{deleted}$delim$$row{id}$delim$$row{tnc_source}$delim$$row{tcn_value}$delim$$row{marc}\n";
 }
 
index a4ac669..4f535bb 100755 (executable)
@@ -48,6 +48,7 @@ while (<>) {
                ($partlist{tcn_value} = $values[ $partmap{tcn_value}]) =~ s/^\s*//o if ($part eq 'tcn_value');
                ($partlist{tcn_source} = $values[ $partmap{tcn_source}]) =~ s/^\s*//o if ($part eq 'tcn_source');
                ($partlist{id} = $values[ $partmap{id}]) =~ s/^\s*//o if ($part eq 'id');
+               ($partlist{deleted} = $values[ $partmap{deleted}]) =~ s/^\s*//o if ($part eq 'deleted');
                $partlist{marc} = $values[ $partmap{marc}] if ($part eq 'marc');
 
                $partlist{tcn_value} =~ s/\s*$//o if ($part eq 'tcn_value');
@@ -88,7 +89,7 @@ while (<>) {
             } 
         }
 
-        if ($set_as_deleted) {
+        if ($set_as_deleted && $partlist{deleted} eq 't') {
             my $leader = $r->leader();
             if (length($leader)>4) {
                 substr($leader,5,1,"d");