experimental import from ferweb user report
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 28 Aug 2012 14:06:08 +0000 (16:06 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 28 Aug 2012 14:06:08 +0000 (16:06 +0200)
ferweb-import-report.pl [new file with mode: 0755]

diff --git a/ferweb-import-report.pl b/ferweb-import-report.pl
new file mode 100755 (executable)
index 0000000..9042b8a
--- /dev/null
@@ -0,0 +1,63 @@
+#!/usr/bin/perl -w
+
+use strict;
+use DBI;
+use Data::Dump qw/dump/;
+use Algorithm::CheckDigits;
+use Text::Unaccent;
+
+my $ferweb_csv = 'report_62836_1026_Aktivni_studenti.csv';
+
+die "$ferweb_csv : $!" unless -r $ferweb_csv;
+
+my $c = DBI->connect("dbi:CSV:","","", { RaiseError => 1, f_ext => '.csv', f_encoding => 'utf-8', csv_sep_char => ';' }) || die $dbi::errstr;
+my $k = DBI->connect("dbi:mysql:database=koha_fer","","", { RaiseError => 1, AutoCommit => 0, mysql_enable_utf8 => 1 }) || die $DBI::errstr;
+
+my $ferweb_table = $ferweb_csv;
+$ferweb_table =~ s/\.csv//i;
+
+my $s = $c->prepare(qq{
+select * from $ferweb_table
+});
+$s->execute;
+
+my $user_exists = $k->prepare(qq{
+select * from borrowers where cardnumber = ?
+});
+
+my $insert_user = $k->prepare(qq{
+insert into borrowers 
+(cardnumber, categorycode, userid, firstname, surname, branchcode, email, dateexpiry)
+values
+(?,'S',?,?,?,'SRE',?,'2021-12-13')
+});
+
+my $stat;
+
+while( my $row = $s->fetchrow_hashref ) {
+
+#      warn "# row = ",dump($row),$/;
+
+       $user_exists->execute( 'S' . $row->{jmbag} );
+
+       if ( $user_exists->rows ) {
+#              warn "EXISTS: ",dump($row);
+               print "#";
+               $stat->{exists}++;
+       } else {
+               warn "NEW: ",dump($row);
+#              $insert_user->execute( 'S' . $row->{jmbag}, $user->{nick}, $user->{first_name}, $user->{last_name}, $user->{email} );
+               $stat->{new}++;
+       }
+
+       print join(" "
+               , $row->{jmbag}
+               , $row->{nick}
+               , $row->{email}
+       ),$/;
+
+}
+
+#$k->commit;
+
+warn dump( $stat );