From: Ben Ostrowsky Date: Fri, 6 Nov 2009 16:47:34 +0000 (+0000) Subject: New script to extract lost items from users.data, when present X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=commitdiff_plain;h=efe0e292db8ce0bd60ee800c21eec091698ca5bf New script to extract lost items from users.data, when present git-svn-id: svn://nox.esilibrary.com/migration-tools@636 eee7cc8d-164e-4af6-8e1b-092a69004917 --- diff --git a/unicorn/unicorn_patrons_to_lostitem_tsv.pl b/unicorn/unicorn_patrons_to_lostitem_tsv.pl new file mode 100755 index 0000000..96bbf44 --- /dev/null +++ b/unicorn/unicorn_patrons_to_lostitem_tsv.pl @@ -0,0 +1,50 @@ +#!/usr/bin/perl -w + +# Converts a Unicorn users.data file to a tab-separated file of lost items. +# 2009-11-06 Ben Ostrowsky +# +# Output fields: +# +# Patron ID +# Item ID +# Item Copy Number +# Due Date +# Title, Author, Call (or parts thereof) +# + +my $field = ''; +my $lostitem = ''; +my $userid = ''; + +# Load each record +while (<>) { + s/\r\n/\n/g; +# print STDERR "Loaded this line: " . $_; + + if ( /^\.(.*?).\s+(\|a)?(.*)$/ ) { + $field = $1; + if ($field eq 'USER_ID') { + if ($lostitem ne '') { + $lostitem =~ m/^(.*)copy:([^,]*),\s*ID:([^,]*),\s*due:(.*)$/; + print "$userid\t$3\t$2\t$4\t$1\n"; + } + $userid = $3; + $lostitem = ''; + } + if ($field eq 'LOSTITEM') { + if ($lostitem ne '') { + $lostitem =~ m/^(.*)copy:([^,]*),\s*ID:([^,]*),\s*due:(.*)$/; + print "$userid\t$3\t$2\t$4\t$1\n"; + } + $lostitem = $3; + } + next; + } + + # This is the continuation of the previous line. + else { + chomp($_); + if ($field eq 'LOSTITEM') { $lostitem .= $_; } + } + +}