Bugzilla – Attachment 5134 Details for
Bug 6727
can't import frameworks
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[SIGNED-OFF] Bug 6727 - Change on exporting and importing csv to deal with spurious CR/LF
SIGNED-OFF-Bug-6727---Change-on-exporting-and-impo.patch (text/plain), 2.15 KB, created by
Nicole C. Engard
on 2011-08-25 00:02:28 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 6727 - Change on exporting and importing csv to deal with spurious CR/LF
Filename:
MIME Type:
Creator:
Nicole C. Engard
Created:
2011-08-25 00:02:28 UTC
Size:
2.15 KB
patch
obsolete
>From 7e905bd4870afc006ef97bb03ab5c0755a800062 Mon Sep 17 00:00:00 2001 >From: Salvador Zaragoza Rubio <salvazm@masmedios.com> >Date: Fri, 19 Aug 2011 12:33:05 +0200 >Subject: [PATCH] [SIGNED-OFF] Bug 6727 - Change on exporting and importing csv to deal with spurious CR/LF > >Function _export_table_csv modified to remove CR/LF in the data >from the database to built a correct csv file. > >Function _import_table_csv modified to deal with CR/LF in the data >field. When a line is found with an unproper end (a data field has not >end quote), it's concatenated to a temporary buffer until the next >line ends ok and then it's proccessed. > >Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> >--- > C4/ImportExportFramework.pm | 13 +++++++++++++ > 1 files changed, 13 insertions(+), 0 deletions(-) > >diff --git a/C4/ImportExportFramework.pm b/C4/ImportExportFramework.pm >index 7f29e51..e518771 100755 >--- a/C4/ImportExportFramework.pm >+++ b/C4/ImportExportFramework.pm >@@ -322,6 +322,7 @@ sub _export_table_csv > my $data; > while (my $hashRef = $sth->fetchrow_hashref) { > for (@fields) { >+ $hashRef->{$_} =~ s/[\r\n]//g; > $$strCSV .= '"' . $hashRef->{$_} . '",'; > } > chop $$strCSV; >@@ -1133,6 +1134,7 @@ sub _import_table_csv > my ($dbh, $table, $frameworkcode, $dom, $PKArray, $fields2Delete, $fields) = @_; > > my $row = ''; >+ my $partialRow = ''; > my $numFields = @$fields; > my $fieldsNameRead = 0; > my @arrData; >@@ -1145,6 +1147,17 @@ sub _import_table_csv > my $pos = 0; > while (<$dom>) { > $row = $_; >+ # Check whether the line has an unfinished field, i.e., a field with CR/LF in its data >+ if ($row =~ /,"[^"]*[\r\n]+$/ || $row =~ /^[^"]+[\r\n]+$/) { >+ $row =~ s/[\r\n]+$//; >+ $partialRow .= $row; >+ next; >+ } >+ if ($partialRow) { >+ $row = $partialRow . $row; >+ $partialRow = ''; >+ } >+ # Line OK, process it > if ($row =~ /(?:".*?",?)+/) { > @arrData = split('","', $row); > $arrData[0] = substr($arrData[0], 1) if ($arrData[0] =~ /^"/); >-- >1.7.2.3
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 6727
:
5030
|
5042
|
5043
|
5044
|
5057
| 5134