X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=blobdiff_plain;f=unicorn%2Funicorn_patrons_to_lostitem_tsv.pl;fp=unicorn%2Funicorn_patrons_to_lostitem_tsv.pl;h=96bbf44e5bfcf28173cbf393569633311cdb353c;hp=0000000000000000000000000000000000000000;hb=efe0e292db8ce0bd60ee800c21eec091698ca5bf;hpb=31e9eb0687f30a59cad85f0f18568e8bda352bd8 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 .= $_; } + } + +}