Hello community,
here is the log from the commit of package perl-Spreadsheet-Read for openSUSE:Factory checked in at 2013-06-25 06:58:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Spreadsheet-Read (Old)
and /work/SRC/openSUSE:Factory/.perl-Spreadsheet-Read.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Spreadsheet-Read"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Spreadsheet-Read/perl-Spreadsheet-Read.changes 2012-02-17 15:01:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Spreadsheet-Read.new/perl-Spreadsheet-Read.changes 2013-06-25 06:58:15.000000000 +0200
@@ -1,0 +2,22 @@
+Sat Jun 15 10:44:00 UTC 2013 - coolo@suse.com
+
+- obsolete xsl2csv
+
+------------------------------------------------------------------
+Tue Jun 4 18:21:48 UTC 2013 - coolo@suse.com
+
+- updated to 0.49
+ * /dev/null cannot be used for tests on Windows
+ * Improve documentation consistency (RT#80409)
+ * Updated copyright to 2013
+ * Force old(er) tar format (ustar) - assumes GNU tar on release box
+ * Fix yml/json optional_features
+ * Install utilities from example by default
+ * Several minor changes (for maint)
+ * Note that empty sheets are skipped when clip is true (RT#75277)
+ * Allow undef as valid value for the options (Max Maischein)
+ * Don't generate warnings when stripping whitespace and only
+ generating one of cells or rc. (Max Maschein)
+ * Fix test warning under perl-5.17.x
+
+-------------------------------------------------------------------
Old:
----
Spreadsheet-Read-0.46.tgz
New:
----
Spreadsheet-Read-0.49.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Spreadsheet-Read.spec ++++++
--- /var/tmp/diff_new_pack.bgrWgg/_old 2013-06-25 06:58:16.000000000 +0200
+++ /var/tmp/diff_new_pack.bgrWgg/_new 2013-06-25 06:58:16.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Spreadsheet-Read
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%bcond_with opt
Name: perl-Spreadsheet-Read
-Version: 0.46
+Version: 0.49
Release: 0
%define cpan_name Spreadsheet-Read
Summary: Read the data from a spreadsheet
@@ -29,6 +29,8 @@
Source: http://www.cpan.org/authors/id/H/HM/HMBRAND/%{cpan_name}-%{version}.tgz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Obsoletes: xls2csv < 1.07
+Provides: xls2csv = 1.07
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Test::Harness)
@@ -46,11 +48,8 @@
BuildRequires: perl(Text::CSV_PP) >= 1.23
BuildRequires: perl(Text::CSV_XS) >= 0.69
%endif
-Requires: perl(File::Temp)
%{perl_requires}
%if 0%{?suse_version} > 1010
-Recommends: perl(File::Temp) >= 0.22
-Recommends: perl(IO::Scalar)
Recommends: perl(Spreadsheet::ParseExcel) >= 0.26
Recommends: perl(Spreadsheet::ParseExcel::FmtDefault)
Recommends: perl(Spreadsheet::ReadSXC) >= 0.2
++++++ Spreadsheet-Read-0.46.tgz -> Spreadsheet-Read-0.49.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/Changes new/Spreadsheet-Read-0.49/Changes
--- old/Spreadsheet-Read-0.46/Changes 2012-02-14 08:48:36.000000000 +0100
+++ new/Spreadsheet-Read-0.49/Changes 2013-05-11 09:11:31.000000000 +0200
@@ -1,3 +1,21 @@
+0.49 - 11 May 2013, H.Merijn Brand
+ * /dev/null cannot be used for tests on Windows
+
+0.48 - 14 Mar 2013, H.Merijn Brand
+ * Improve documentation consistency (RT#80409)
+ * Updated copyright to 2013
+ * Force old(er) tar format (ustar) - assumes GNU tar on release box
+ * Fix yml/json optional_features
+ * Install utilities from example by default
+ * Several minor changes (for maint)
+
+0.47 - 30 Jun 2012, H.Merijn Brand
+ * Note that empty sheets are skipped when clip is true (RT#75277)
+ * Allow undef as valid value for the options (Max Maischein)
+ * Don't generate warnings when stripping whitespace and only
+ generating one of cells or rc. (Max Maschein)
+ * Fix test warning under perl-5.17.x
+
0.46 - 14 Feb 2012, H.Merijn Brand
* Updated copyright to 2012
* Support passing attributes to the underlying parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/MANIFEST new/Spreadsheet-Read-0.49/MANIFEST
--- old/Spreadsheet-Read-0.46/MANIFEST 2012-02-14 08:53:37.000000000 +0100
+++ new/Spreadsheet-Read-0.49/MANIFEST 2013-05-25 10:31:48.000000000 +0200
@@ -23,6 +23,7 @@
files/macosx.xls
files/misc.xls
files/misc.xlsx
+files/misc_ws.xls
files/perc.xls
files/perc.xlsx
files/test.csv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/META.json new/Spreadsheet-Read-0.49/META.json
--- old/Spreadsheet-Read-0.46/META.json 2012-02-14 08:53:38.000000000 +0100
+++ new/Spreadsheet-Read-0.49/META.json 2013-05-25 10:31:48.000000000 +0200
@@ -1,89 +1,129 @@
{
- "resources" : {
- "repository" : "http://repo.or.cz/w/Spreadsheet-Read.git",
- "license" : "http://dev.perl.org/licenses/"
- },
- "meta-spec" : {
- "version" : "2.0",
- "url" : "https://metacpan.org/module/CPAN::Meta::Spec?#meta-spec"
- },
- "test_requires" : {
- "Test::More" : "0.88",
- "Test::Harness" : "0",
- "Test::NoWarnings" : "0"
- },
- "distribution_type" : "module",
- "generated_by" : "Author",
- "version" : "0.46",
"name" : "Spreadsheet-Read",
+ "release_status" : "stable",
"author" : [
"H.Merijn Brand "
- ],
- "license" : "perl",
- "provides" : {
- "Spreadsheet::Read" : {
- "version" : "0.46",
- "file" : "Read.pm"
- }
- },
+ ],
+ "abstract" : "Meta-Wrapper for reading spreadsheet data",
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "dynamic_config" : 1,
+ "license" : [
+ "perl_5"
+ ],
+ "version" : "0.49",
"optional_features" : {
- "opt_tools" : {
- "recommends" : {
- "Tk::TableMatrix::Spreadsheet" : "0",
- "Tk::NoteBook" : "0",
- "Tk" : "0"
- },
- "description" : "Spreadsheet tools"
+ "opt_csv" : {
+ "prereqs" : {
+ "runtime" : {
+ "requires" : {
+ "Text::CSV_XS" : "0.69"
+ },
+ "recommends" : {
+ "Text::CSV_XS" : "0.97",
+ "Text::CSV_PP" : "1.29",
+ "Text::CSV" : "1.21"
+ }
+ }
},
+ "description" : "Provides parsing of CSV streams"
+ },
"opt_excelx" : {
- "requires" : {
- "Spreadsheet::XLSX" : "0.13",
- "Spreadsheet::XLSX::Fmt2007" : "0"
- },
- "description" : "Provides parsing of Microsoft Excel 2007 files"
+ "description" : "Provides parsing of Microsoft Excel 2007 files",
+ "prereqs" : {
+ "runtime" : {
+ "requires" : {
+ "Spreadsheet::XLSX::Fmt2007" : "0",
+ "Spreadsheet::XLSX" : "0.13"
+ }
+ }
+ }
+ },
+ "opt_excel" : {
+ "prereqs" : {
+ "runtime" : {
+ "recommends" : {
+ "Spreadsheet::ParseExcel" : "0.59"
+ },
+ "requires" : {
+ "Spreadsheet::ParseExcel::FmtDefault" : "0",
+ "Spreadsheet::ParseExcel" : "0.26"
+ }
+ }
},
- "opt_csv" : {
- "requires" : {
- "Text::CSV_XS" : "0.69"
- },
- "recommends" : {
- "Text::CSV_PP" : "1.29",
- "Text::CSV_XS" : "0.86",
- "Text::CSV" : "1.21"
- },
- "description" : "Provides parsing of CSV streams"
+ "description" : "Provides parsing of Microsoft Excel files"
+ },
+ "opt_tools" : {
+ "prereqs" : {
+ "runtime" : {
+ "recommends" : {
+ "Tk::TableMatrix::Spreadsheet" : "0",
+ "Tk::NoteBook" : "0",
+ "Tk" : "0"
+ }
+ }
},
+ "description" : "Spreadsheet tools"
+ },
"opt_oo" : {
+ "description" : "Provides parsing of OpenOffice spreadsheets",
+ "prereqs" : {
+ "runtime" : {
+ "requires" : {
+ "Spreadsheet::ReadSXC" : "0.20"
+ }
+ }
+ }
+ }
+ },
+ "prereqs" : {
+ "runtime" : {
"requires" : {
- "Spreadsheet::ReadSXC" : "0.20"
- },
- "description" : "Provides parsing of OpenOffice spreadsheets"
+ "Data::Dumper" : "0",
+ "Carp" : "0",
+ "File::Temp" : "0.22",
+ "perl" : "5.006",
+ "Exporter" : "0"
},
- "opt_excel" : {
- "requires" : {
- "Spreadsheet::ParseExcel" : "0.26",
- "Spreadsheet::ParseExcel::FmtDefault" : "0"
- },
"recommends" : {
- "Spreadsheet::ParseExcel" : "0.59"
- },
- "description" : "Provides parsing of Microsoft Excel files"
+ "perl" : "5.016003",
+ "File::Temp" : "0.2301",
+ "IO::Scalar" : "0"
}
},
- "requires" : {
- "perl" : "5.006",
- "File::Temp" : "0.22",
- "Data::Dumper" : "0",
- "Exporter" : "0",
- "Carp" : "0"
- },
- "recommends" : {
- "Test::More" : "0.98",
- "perl" : "5.014002",
- "IO::Scalar" : "0"
+ "test" : {
+ "requires" : {
+ "Test::NoWarnings" : "0",
+ "Test::Harness" : "0",
+ "Test::More" : "0.88"
+ },
+ "recommends" : {
+ "Test::More" : "0.98"
+ }
},
- "abstract" : "Meta-Wrapper for reading spreadsheet data",
- "configure_requires" : {
- "ExtUtils::MakeMaker" : "0"
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ }
+ },
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "web" : "http://repo.or.cz/w/Spreadsheet-Read.git",
+ "type" : "git",
+ "url" : "http://repo.or.cz/r/Spreadsheet-Read.git"
+ }
+ },
+ "provides" : {
+ "Spreadsheet::Read" : {
+ "version" : "0.49",
+ "file" : "Read.pm"
}
- }
+ },
+ "generated_by" : "Author"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/META.yml new/Spreadsheet-Read-0.49/META.yml
--- old/Spreadsheet-Read-0.46/META.yml 2012-02-14 08:53:38.000000000 +0100
+++ new/Spreadsheet-Read-0.49/META.yml 2013-05-25 10:31:48.000000000 +0200
@@ -1,66 +1,56 @@
---- #YAML:1.0
-name: Spreadsheet-Read
-version: 0.46
-abstract: Meta-Wrapper for reading spreadsheet data
-license: perl
-author:
+---
+abstract: Meta-Wrapper for reading spreadsheet data
+author:
- H.Merijn Brand
-generated_by: Author
-distribution_type: module
-provides:
- Spreadsheet::Read:
- file: Read.pm
- version: 0.46
-requires:
- perl: 5.006
- Exporter: 0
- Carp: 0
- Data::Dumper: 0
- File::Temp: 0.22
-configure_requires:
- ExtUtils::MakeMaker: 0
-test_requires:
- Test::Harness: 0
- Test::More: 0.88
- Test::NoWarnings: 0
-recommends:
- perl: 5.014002
- IO::Scalar: 0
- Test::More: 0.98
-resources:
- license: http://dev.perl.org/licenses/
- repository: http://repo.or.cz/w/Spreadsheet-Read.git
-meta-spec:
- version: 1.4
- url: http://module-build.sourceforge.net/META-spec-v1.4.html
-optional_features:
- opt_csv:
- description: Provides parsing of CSV streams
- requires:
- Text::CSV_XS: 0.69
- recommends:
- Text::CSV: 1.21
- Text::CSV_PP: 1.29
- Text::CSV_XS: 0.86
- opt_excel:
- description: Provides parsing of Microsoft Excel files
- requires:
- Spreadsheet::ParseExcel: 0.26
+configure_requires:
+ ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: Author, CPAN::Meta::Converter version 2.130880
+license: perl
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: '1.4'
+name: Spreadsheet-Read
+optional_features:
+ opt_csv:
+ description: Provides parsing of CSV streams
+ requires:
+ Text::CSV_XS: '0.69'
+ opt_excel:
+ description: Provides parsing of Microsoft Excel files
+ requires:
+ Spreadsheet::ParseExcel: '0.26'
Spreadsheet::ParseExcel::FmtDefault: 0
- recommends:
- Spreadsheet::ParseExcel: 0.59
- opt_excelx:
- description: Provides parsing of Microsoft Excel 2007 files
- requires:
- Spreadsheet::XLSX: 0.13
- Spreadsheet::XLSX::Fmt2007: 0
- opt_oo:
- description: Provides parsing of OpenOffice spreadsheets
- requires:
- Spreadsheet::ReadSXC: 0.20
- opt_tools:
- description: Spreadsheet tools
- recommends:
- Tk: 0
- Tk::NoteBook: 0
- Tk::TableMatrix::Spreadsheet: 0
+ opt_excelx:
+ description: Provides parsing of Microsoft Excel 2007 files
+ requires:
+ Spreadsheet::XLSX: '0.13'
+ Spreadsheet::XLSX::Fmt2007: 0
+ opt_oo:
+ description: Provides parsing of OpenOffice spreadsheets
+ requires:
+ Spreadsheet::ReadSXC: '0.20'
+ opt_tools:
+ description: Spreadsheet tools
+provides:
+ Spreadsheet::Read:
+ file: Read.pm
+ version: '0.49'
+recommends:
+ File::Temp: '0.2301'
+ IO::Scalar: 0
+ Test::More: '0.98'
+ perl: '5.016003'
+requires:
+ Carp: 0
+ Data::Dumper: 0
+ Exporter: 0
+ File::Temp: '0.22'
+ Test::Harness: 0
+ Test::More: '0.88'
+ Test::NoWarnings: 0
+ perl: '5.006'
+resources:
+ license: http://dev.perl.org/licenses/
+ repository: http://repo.or.cz/r/Spreadsheet-Read.git
+version: '0.49'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/Makefile.PL new/Spreadsheet-Read-0.49/Makefile.PL
--- old/Spreadsheet-Read-0.46/Makefile.PL 2012-01-11 09:25:18.000000000 +0100
+++ new/Spreadsheet-Read-0.49/Makefile.PL 2013-02-14 17:54:44.000000000 +0100
@@ -10,7 +10,7 @@
[ "ss2tk", "Show a Spreadsheet in Perl/Tk" ],
[ "xls2csv", "Wrapper around xlscat for easy XLS => CSV" ],
) {
- prompt ("Do you want to install '$_->[0]' ($_->[1]) ? ", "n") =~ m/[Yy]/ and
+ prompt ("Do you want to install '$_->[0]' ($_->[1]) ? ", "y") =~ m/[Yy]/ and
push @exe, "examples/$_->[0]";
}
}
@@ -48,6 +48,7 @@
# "Tk::NoteBook" => 4.009,
# "Tk::TableMatrix::Spreadsheet" => 1.2,
},
+ macro => { TARFLAGS => "--format=ustar -c -v -f", },
);
$ExtUtils::MakeMaker::VERSION > 6.30 and $wm{LICENSE} = "perl";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/README new/Spreadsheet-Read-0.49/README
--- old/Spreadsheet-Read-0.46/README 2012-01-11 09:25:18.000000000 +0100
+++ new/Spreadsheet-Read-0.49/README 2013-01-21 17:41:19.000000000 +0100
@@ -59,7 +59,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2005-2012 H.Merijn Brand
+Copyright (C) 2005-2013 H.Merijn Brand
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/Read.pm new/Spreadsheet-Read-0.49/Read.pm
--- old/Spreadsheet-Read-0.46/Read.pm 2012-02-14 08:42:22.000000000 +0100
+++ new/Spreadsheet-Read-0.49/Read.pm 2013-03-14 21:49:16.000000000 +0100
@@ -9,21 +9,23 @@
=head1 SYNOPSIS
use Spreadsheet::Read;
- my $ref = ReadData ("test.csv", sep => ";");
- my $ref = ReadData ("test.sxc");
- my $ref = ReadData ("test.ods");
- my $ref = ReadData ("test.xls");
- my $ref = ReadData ("test.xlsx");
- my $ref = ReadData ($fh, parser => "xls");
-
- my $a3 = $ref->[1]{A3}, "\n"; # content of field A3 of sheet 1
+ my $book = ReadData ("test.csv", sep => ";");
+ my $book = ReadData ("test.sxc");
+ my $book = ReadData ("test.ods");
+ my $book = ReadData ("test.xls");
+ my $book = ReadData ("test.xlsx");
+ my $book = ReadData ($fh, parser => "xls");
+
+ my $sheet = $book->[1]; # first datasheet
+ my $cell = $book->[1]{A3}; # content of field A3 of sheet 1
+ my $cell = $book->[1]{cell}[1][3]; # same, unformatted
=cut
use strict;
use warnings;
-our $VERSION = "0.46";
+our $VERSION = "0.49";
sub Version { $VERSION }
use Carp;
@@ -100,6 +102,7 @@
$type eq "oo" and return "sxc";
$type eq "ods" and return "sxc";
$type eq "openoffice" and return "sxc";
+ $type eq "libreoffice" and return "sxc";
$type eq "perl" and return "prl";
$type eq "squirelcalc" and return "sc";
return exists $can{$type} ? $type : "";
@@ -139,7 +142,7 @@
($c, $r);
} # cell2cr
-# my @row = cellrow ($ss->[1], 1);
+# my @row = cellrow ($book->[1], 1);
sub cellrow
{
my $sheet = shift or return;
@@ -151,7 +154,7 @@
map { $s->[$_][$row] } 1..$sheet->{maxcol};
} # cellrow
-# my @row = row ($ss->[1], 1);
+# my @row = row ($book->[1], 1);
sub row
{
my $sheet = shift or return;
@@ -163,7 +166,7 @@
} # row
# Convert {cell}'s [column][row] to a [row][column] list
-# my @rows = rows ($ss->[1]);
+# my @rows = rows ($book->[1]);
sub rows
{
my $sheet = shift or return;
@@ -189,11 +192,12 @@
$ss->{maxrow} && $ss->{maxcol} or next;
foreach my $row (1 .. $ss->{maxrow}) {
foreach my $col (1 .. $ss->{maxcol}) {
- defined $ss->{cell}[$col][$row] or next;
- $s & 2 && $ss->{cell}[$col][$row] =~ s/\s+$// and
- $ss->{cr2cell ($col, $row)} =~ s/\s+$//;
- $s & 1 && $ss->{cell}[$col][$row] =~ s/^\s+// and
- $ss->{cr2cell ($col, $row)} =~ s/^\s+//;
+ for (($opt->{cells} ? $ss->{cell}[$col][$row] : ()),
+ ($opt->{rc} ? $ss->{cr2cell ($col, $row)} : ())) {
+ defined or next;
+ $s & 2 and s/\s+$//;
+ $s & 1 and s/^\s+//;
+ }
}
}
}
@@ -250,12 +254,12 @@
elsif (@_ % 2 == 0) { %opt = @_ }
}
- defined $opt{rc} or $opt{rc} = $def_opts{rc};
- defined $opt{cells} or $opt{cells} = $def_opts{cells};
- defined $opt{attr} or $opt{attr} = $def_opts{attr};
- defined $opt{clip} or $opt{clip} = $opt{cells};
- defined $opt{strip} or $opt{strip} = $def_opts{strip};
- defined $opt{dtfmt} or $opt{dtfmt} = $def_opts{dtfmt};
+ exists $opt{rc} or $opt{rc} = $def_opts{rc};
+ exists $opt{cells} or $opt{cells} = $def_opts{cells};
+ exists $opt{attr} or $opt{attr} = $def_opts{attr};
+ exists $opt{clip} or $opt{clip} = $opt{cells};
+ exists $opt{strip} or $opt{strip} = $def_opts{strip};
+ exists $opt{dtfmt} or $opt{dtfmt} = $def_opts{dtfmt};
# $debug = $opt{debug} // 0;
$debug = defined $opt{debug} ? $opt{debug} : $def_opts{debug};
@@ -569,7 +573,7 @@
}
s/^r([0-9]+)c([0-9]+)\s*=\s*// or next;
my ($c, $r) = map { $_ + 1 } $2, $1;
- if (m/.* {(.*)}$/ or m/"(.*)"/) {
+ if (m/.* \{(.*)}$/ or m/"(.*)"/) {
my $cell = cr2cell ($c, $r);
$opt{rc} and $data[1]{cell}[$c][$r] = $1;
$opt{cells} and $data[1]{$cell} = $1;
@@ -671,13 +675,12 @@
return its content in a universal manner independent of the parsing
module that does the actual spreadsheet scanning.
-For OpenOffice this module uses Spreadsheet::ReadSXC
+For OpenOffice and/or LibreOffice this module uses Spreadsheet::ReadSXC
For Microsoft Excel this module uses Spreadsheet::ParseExcel or
Spreadsheet::XLSX
-For CSV this module uses Text::CSV_XS (0.29 or up required, 0.73 or
-up preferred) or Text::CSV_PP (1.05 or up required).
+For CSV this module uses Text::CSV_XS or Text::CSV_PP.
For SquirrelCalc there is a very simplistic built-in parser
@@ -685,32 +688,32 @@
The data is returned as an array reference:
- $ref = [
- # Entry 0 is the overall control hash
- { sheets => 2,
- sheet => {
- "Sheet 1" => 1,
- "Sheet 2" => 2,
- },
- type => "xls",
- parser => "Spreadsheet::ParseExcel",
- version => 0.26,
- },
- # Entry 1 is the first sheet
- { label => "Sheet 1",
- maxrow => 2,
- maxcol => 4,
- cell => [ undef,
- [ undef, 1 ],
- [ undef, undef, undef, undef, undef, "Nugget" ],
- ],
- A1 => 1,
- B5 => "Nugget",
- },
- # Entry 2 is the second sheet
- { label => "Sheet 2",
- :
- :
+ $book = [
+ # Entry 0 is the overall control hash
+ { sheets => 2,
+ sheet => {
+ "Sheet 1" => 1,
+ "Sheet 2" => 2,
+ },
+ type => "xls",
+ parser => "Spreadsheet::ParseExcel",
+ version => 0.59,
+ },
+ # Entry 1 is the first sheet
+ { label => "Sheet 1",
+ maxrow => 2,
+ maxcol => 4,
+ cell => [ undef,
+ [ undef, 1 ],
+ [ undef, undef, undef, undef, undef, "Nugget" ],
+ ],
+ A1 => 1,
+ B5 => "Nugget",
+ },
+ # Entry 2 is the second sheet
+ { label => "Sheet 2",
+ :
+ :
To keep as close contact to spreadsheet users, row and column 1 have
index 1 too in the C<cell> element of the sheet hash, so cell "A1" is
@@ -724,33 +727,33 @@
some spreadsheet meta-data. The entry C<sheet> is there to be able to find
the sheets when accessing them by name:
- my %sheet2 = %{$ref->[$ref->[0]{sheet}{"Sheet 2"}]};
+ my %sheet2 = %{$book->[$book->[0]{sheet}{"Sheet 2"}]};
=head2 Functions
=over 2
-=item my $ref = ReadData ($source [, option => value [, ... ]]);
+=item my $book = ReadData ($source [, option => value [, ... ]]);
-=item my $ref = ReadData ("file.csv", sep => ',', quote => '"');
+=item my $book = ReadData ("file.csv", sep => ',', quote => '"');
-=item my $ref = ReadData ("file.xls", dtfmt => "yyyy-mm-dd");
+=item my $book = ReadData ("file.xls", dtfmt => "yyyy-mm-dd");
-=item my $ref = ReadData ("file.ods");
+=item my $book = ReadData ("file.ods");
-=item my $ref = ReadData ("file.sxc");
+=item my $book = ReadData ("file.sxc");
-=item my $ref = ReadData ("content.xml");
+=item my $book = ReadData ("content.xml");
-=item my $ref = ReadData ($content);
+=item my $book = ReadData ($content);
-=item my $ref = ReadData ($fh, parser => "xls");
+=item my $book = ReadData ($fh, parser => "xls");
Tries to convert the given file, string, or stream to the data
structure described above.
Processing Excel data from a stream or content is supported through
-a File::Temp temporary file or IO::Scalar when available.
+a File::Temp temporary file or IO::Scalar when available.
ReadSXC does preserve sheet order as of version 0.20.
@@ -762,7 +765,8 @@
Force the data to be parsed by a specific format. Possible values are
C<csv>, C<prl> (or C<perl>), C<sc> (or C<squirelcalc>), C<sxc> (or C<oo>,
-C<ods>, C<openoffice>) C<xls> (or C<excel>), and C<xlsx> (or C<excel2007>).
+C<ods>, C<openoffice>, C<libreoffice>) C<xls> (or C<excel>), and C<xlsx>
+(or C<excel2007>).
When parsing streams, instead of files, it is highly recommended to pass
this option.
@@ -783,7 +787,9 @@
=item clip
If set, C will remove all trailing lines and columns per
-sheet that have no visual data.
+sheet that have no visual data. If a sheet has no data at all, the
+sheet will be skipped entirely when this attribute is true.
+
This option is only valid if C<cells> is true. The default value is
true if C<cells> is true, and false otherwise.
@@ -865,31 +871,31 @@
my ($col, $row) = cell2cr ("D14"); # returns ( 4, 14)
my ($col, $row) = cell2cr ("AB4"); # returns (28, 4)
-=item my @row = row ($ref, $row)
+=item my @row = row ($sheet, $row)
-=item my @row = Spreadsheet::Read::row ($ss->[1], 3)
+=item my @row = Spreadsheet::Read::row ($book->[1], 3)
-Get full row of formatted values (like C<< $ss->{A3} .. $ss->{G3} >>)
+Get full row of formatted values (like C<< $sheet->{A3} .. $sheet->{G3} >>)
Note that the indexes in the returned list are 0-based.
C is not imported by default, so either specify it in the
use argument list, or call it fully qualified.
-=item my @row = cellrow ($ref, $row)
+=item my @row = cellrow ($book, $row)
-=item my @row = Spreadsheet::Read::cellrow ($ss->[1], 3)
+=item my @row = Spreadsheet::Read::cellrow ($book->[1], 3)
-Get full row of unformatted values (like C<< $ss->{cell}[1][3] .. $ss->{cell}[7][3] >>)
+Get full row of unformatted values (like C<< $sheet->{cell}[1][3] .. $sheet->{cell}[7][3] >>)
Note that the indexes in the returned list are 0-based.
C is not imported by default, so either specify it in the
use argument list, or call it fully qualified.
-=item my @rows = rows ($ref)
+=item my @rows = rows ($book)
-=item my @rows = Spreadsheet::Read::rows ($ss->[1])
+=item my @rows = Spreadsheet::Read::rows ($book->[1])
Convert C<{cell}>'s C<[column][row]> to a C<[row][column]> list.
@@ -1067,7 +1073,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2005-2012 H.Merijn Brand
+Copyright (C) 2005-2013 H.Merijn Brand
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/ss-dups-tk.pl new/Spreadsheet-Read-0.49/examples/ss-dups-tk.pl
--- old/Spreadsheet-Read-0.46/examples/ss-dups-tk.pl 2012-01-11 09:28:25.000000000 +0100
+++ new/Spreadsheet-Read-0.49/examples/ss-dups-tk.pl 2013-01-21 17:41:12.000000000 +0100
@@ -1,7 +1,7 @@
#!/pro/bin/perl
# ss-dup-tk.pl: Find dups in spreadsheet
-# (m)'09 [23-01-2009] Copyright H.M.Brand 2005-2012
+# (m)'09 [23-01-2009] Copyright H.M.Brand 2005-2013
use strict;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/ss2tk new/Spreadsheet-Read-0.49/examples/ss2tk
--- old/Spreadsheet-Read-0.46/examples/ss2tk 2012-01-11 09:26:16.000000000 +0100
+++ new/Spreadsheet-Read-0.49/examples/ss2tk 2013-01-21 17:41:16.000000000 +0100
@@ -1,7 +1,7 @@
#!/pro/bin/perl
# ss2tk: show SpreadSheet file in Tk::TableMatrix::Spreadsheet (*)
-# (m)'07 [26-06-2007] Copyright H.M.Brand 2005-2012
+# (m)'07 [26-06-2007] Copyright H.M.Brand 2005-2013
use strict;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/xls2csv new/Spreadsheet-Read-0.49/examples/xls2csv
--- old/Spreadsheet-Read-0.46/examples/xls2csv 2012-01-11 09:26:23.000000000 +0100
+++ new/Spreadsheet-Read-0.49/examples/xls2csv 2013-01-21 17:41:10.000000000 +0100
@@ -1,7 +1,7 @@
#!/pro/bin/perl
# xls2csv: Convert Microsoft Excel spreadsheet to CSV
-# (m)'08 [10-03-2008] Copyright H.M.Brand 2008-2012
+# (m)'08 [10-03-2008] Copyright H.M.Brand 2008-2013
use strict;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/examples/xlscat new/Spreadsheet-Read-0.49/examples/xlscat
--- old/Spreadsheet-Read-0.46/examples/xlscat 2012-01-20 13:37:41.000000000 +0100
+++ new/Spreadsheet-Read-0.49/examples/xlscat 2013-02-12 11:18:59.000000000 +0100
@@ -1,12 +1,12 @@
#!/pro/bin/perl
# xls2cat: show XLS/SXC file as Text
-# (m)'11 [03-02-2011] Copyright H.M.Brand 2005-2012
+# (m)'13 [12-02-2013] Copyright H.M.Brand 2005-2013
use strict;
use warnings;
-our $VERSION = "2.1";
+our $VERSION = "2.2";
sub usage
{
@@ -51,7 +51,7 @@
exit $err;
} # usage
-use Getopt::Long qw(:config bundling nopermute noignorecase);
+use Getopt::Long qw(:config bundling noignorecase);
my $opt_c; # Generate CSV
my $opt_s; # Text separator
my $opt_S; # Sheets to print
Files old/Spreadsheet-Read-0.46/files/misc_ws.xls and new/Spreadsheet-Read-0.49/files/misc_ws.xls differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/t/10_basics.t new/Spreadsheet-Read-0.49/t/10_basics.t
--- old/Spreadsheet-Read-0.46/t/10_basics.t 2009-03-06 23:41:39.000000000 +0100
+++ new/Spreadsheet-Read-0.49/t/10_basics.t 2013-05-11 09:08:14.000000000 +0200
@@ -89,10 +89,13 @@
my $arg = defined $_ ? $_ : "-- undef --";
is ($ref, undef, "Illegal ReadData ([ $arg ])");
}
-for (undef, "", " ", 0, 1, [], {}) {
- my $ref = ReadData ("/dev/null", separator => $_);
- my $arg = defined $_ ? $_ : "-- undef --";
- is ($ref, undef, "Illegal ReadData ({ $arg })");
+SKIP: {
+ -c "/dev/null" or skip "/dev/null cannot be used for tests", 7;
+ for (undef, "", " ", 0, 1, [], {}) {
+ my $ref = ReadData ("/dev/null", separator => $_);
+ my $arg = defined $_ ? $_ : "-- undef --";
+ is ($ref, undef, "Illegal ReadData ({ $arg })");
+ }
}
for (undef, "", " ", 0, 1, [], {}) {
my $ref;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/t/33_misc.t new/Spreadsheet-Read-0.49/t/33_misc.t
--- old/Spreadsheet-Read-0.46/t/33_misc.t 2009-03-29 17:34:17.000000000 +0200
+++ new/Spreadsheet-Read-0.49/t/33_misc.t 2012-05-31 09:06:10.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-my $tests = 2;
+my $tests = 6;
use Test::More;
require Test::NoWarnings;
@@ -17,15 +17,41 @@
open STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
$xls = ReadData ("files/misc.xls",
# All defaults reversed
- rc => 0,
+ rc => 0,
cells => 0,
attr => 1,
clip => 1,
debug => 5,
);
}
-ok ($xls, "Open with options");
-is ($xls->[0]{sheets}, 3, "Sheet Count");
+ok ($xls, "Open with options");
+is ($xls->[0]{sheets}, 3, "Sheet Count");
+
+{ local *STDERR; # We want the debug activated, but not shown
+ open STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
+ $xls = ReadData ("files/misc.xls",
+ # All defaults reversed, but undef
+ rc => undef,
+ cells => undef,
+ attr => 1,
+ clip => 1,
+ debug => 5,
+ );
+ }
+ok ($xls, "Open with options");
+is (0+@{ $xls->[1]{cell}[1]}, 0, "undef works as option value for 'rc'");
+ok (!exists $xls->[1]{A1}, "undef works as option value for 'cells'");
+
+{ local *STDERR; # We want the debug activated, but not shown
+ open STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
+ $xls = ReadData ("files/misc_ws.xls",
+ # No cells generated, but we strip whitespace. We don't want any warning
+ cells => 0,
+ strip => 3,
+ debug => 5,
+ );
+ }
+ok ($xls, "Open with options, let's see if we get any warnings");
unless ($ENV{AUTOMATED_TESTING}) {
Test::NoWarnings::had_no_warnings ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Spreadsheet-Read-0.46/t/63_misc.t new/Spreadsheet-Read-0.49/t/63_misc.t
--- old/Spreadsheet-Read-0.46/t/63_misc.t 2009-03-29 17:40:38.000000000 +0200
+++ new/Spreadsheet-Read-0.49/t/63_misc.t 2012-05-31 08:41:11.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-my $tests = 2;
+my $tests = 5;
use Test::More;
require Test::NoWarnings;
@@ -17,15 +17,30 @@
open STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
$xls = ReadData ("files/misc.xlsx",
# All defaults reversed
- rc => 0,
+ rc => 0,
cells => 0,
attr => 1,
clip => 1,
debug => 5,
);
}
-ok ($xls, "Open with options");
-is ($xls->[0]{sheets}, 3, "Sheet Count");
+ok ($xls, "Open with options");
+is ($xls->[0]{sheets}, 3, "Sheet Count");
+
+{ local *STDERR; # We want the debug activated, but not shown
+ open STDERR, ">", "/dev/null" or die "/dev/null: $!\n";
+ $xls = ReadData ("files/misc.xlsx",
+ # All defaults reversed, but undef
+ rc => undef,
+ cells => undef,
+ attr => 1,
+ clip => 1,
+ debug => 5,
+ );
+ }
+ok ($xls, "Open with options");
+is (0+@{ $xls->[1]{cell}[1]}, 0, "undef works as option value for 'rc'");
+ok (!exists $xls->[1]{A1}, "undef works as option value for 'cells'");
unless ($ENV{AUTOMATED_TESTING}) {
Test::NoWarnings::had_no_warnings ();
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org