From 21cf65234ba592ddca8e76410a901dc9eb7ce41b Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 30 Dec 2015 18:26:17 +0000 Subject: [PATCH] Bug 15451: Koha::CsvProfiles - Remove GetCsvProfile This subroutine just returned a csv profile for a given id. It is replaced in this patch by a call to Koha::CsvProfiles->find. There is nothing to test here, these changes have been tested in previous patches. --- C4/Csv.pm | 13 ------------- C4/Record.pm | 13 +++++++------ serials/lateissues-export.pl | 12 +++++++----- 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/C4/Csv.pm b/C4/Csv.pm index 96d8fc1..46f235d 100644 --- a/C4/Csv.pm +++ b/C4/Csv.pm @@ -33,23 +33,10 @@ $VERSION = 3.07.00.049; # only export API methods @EXPORT = qw( - &GetCsvProfile &GetMarcFieldsForCsv ); -# Returns all informations about a given csv profile -sub GetCsvProfile { - my ($id) = @_; - my $dbh = C4::Context->dbh; - my $query = "SELECT * FROM export_format WHERE export_format_id=?"; - - $sth = $dbh->prepare($query); - $sth->execute($id); - - return ($sth->fetchrow_hashref); -} - # Returns fields to extract for the given csv profile sub GetMarcFieldsForCsv { diff --git a/C4/Record.pm b/C4/Record.pm index 5e3f20b..6d1d3ab 100644 --- a/C4/Record.pm +++ b/C4/Record.pm @@ -36,6 +36,7 @@ use YAML; #marcrecords2csv use Template; use Text::CSV::Encoded; #marc2csv use Koha::SimpleMARC qw(read_field); +use Koha::CsvProfiles; use vars qw($VERSION @ISA @EXPORT); @@ -434,14 +435,14 @@ sub marcrecord2csv { my $frameworkcode = GetFrameworkCode($biblio); # Getting information about the csv profile - my $profile = GetCsvProfile($id); + my $profile = Koha::CsvProfiles->find($id); # Getting output encoding - my $encoding = $profile->{encoding} || 'utf8'; + my $encoding = $profile->encoding || 'utf8'; # Getting separators - my $csvseparator = $profile->{csv_separator} || ','; - my $fieldseparator = $profile->{field_separator} || '#'; - my $subfieldseparator = $profile->{subfield_separator} || '|'; + my $csvseparator = $profile->csv_separator || ','; + my $fieldseparator = $profile->field_separator || '#'; + my $subfieldseparator = $profile->subfield_separator || '|'; # TODO: Be more generic (in case we have to handle other protected chars or more separators) if ($csvseparator eq '\t') { $csvseparator = "\t" } @@ -455,7 +456,7 @@ sub marcrecord2csv { $csv->sep_char($csvseparator); # Getting the marcfields - my $marcfieldslist = $profile->{content}; + my $marcfieldslist = $profile->content; # Getting the marcfields as an array my @marcfieldsarray = split('\|', $marcfieldslist); diff --git a/serials/lateissues-export.pl b/serials/lateissues-export.pl index a75b21c..00804ca 100755 --- a/serials/lateissues-export.pl +++ b/serials/lateissues-export.pl @@ -22,7 +22,9 @@ use C4::Serials; use C4::Acquisition; use C4::Output; use C4::Context; -use C4::Csv qw( GetCsvProfile ); +use C4::Csv; + +use Koha::CsvProfiles; use Text::CSV_XS; @@ -32,17 +34,17 @@ my @serialids = $query->param('serialid'); my $op = $query->param('op') || q{}; my $csv_profile_id = $query->param('csv_profile'); -my $csv_profile = C4::Csv::GetCsvProfile( $csv_profile_id ); +my $csv_profile = Koha::CsvProfiles->find( $csv_profile_id ); die "There is no valid csv profile given" unless $csv_profile; my $csv = Text::CSV_XS->new({ 'quote_char' => '"', 'escape_char' => '"', - 'sep_char' => $csv_profile->{csv_separator}, + 'sep_char' => $csv_profile->csv_separator, 'binary' => 1 }); -my $content = $csv_profile->{content}; +my $content = $csv_profile->content; my ( @headers, @fields ); while ( $content =~ / ([^=]+) # header @@ -75,7 +77,7 @@ print $query->header( -attachment => "serials-claims.csv", ); -print join( $csv_profile->{csv_separator}, @headers ) . "\n"; +print join( $csv_profile->csv_separator, @headers ) . "\n"; for my $row ( @rows ) { $csv->combine(@$row); -- 2.1.0