r1034 - in packages/libspreadsheet-parseexcel-perl/trunk: . debian
Gunnar Wolf
gwolf@costa.debian.org
Tue, 24 May 2005 19:27:02 +0000
Author: gwolf
Date: 2005-05-24 19:27:01 +0000 (Tue, 24 May 2005)
New Revision: 1034
Modified:
packages/libspreadsheet-parseexcel-perl/trunk/ParseExcel.pm
packages/libspreadsheet-parseexcel-perl/trunk/debian/changelog
Log:
Allow for different objects to be passed in
Modified: packages/libspreadsheet-parseexcel-perl/trunk/ParseExcel.pm
===================================================================
--- packages/libspreadsheet-parseexcel-perl/trunk/ParseExcel.pm 2005-05-19 16:17:35 UTC (rev 1033)
+++ packages/libspreadsheet-parseexcel-perl/trunk/ParseExcel.pm 2005-05-24 19:27:01 UTC (rev 1034)
@@ -336,6 +336,7 @@
my($oThis, $sFile, $oWkFmt)=@_;
my($sWk, $bLen);
+ my $ref = ref($sFile);
#0. New $oBook
my $oBook = Spreadsheet::ParseExcel::Workbook->new;
$oBook->{SheetCount} = 0;
@@ -343,7 +344,7 @@
#1.Get content
my($sBIFF, $iLen);
- if(ref($sFile) eq "SCALAR") {
+ if($ref eq "SCALAR") {
#1.1 Specified by Buffer
($sBIFF, $iLen) = $oThis->{GetContent}->($sFile);
return undef unless($sBIFF);
@@ -353,8 +354,8 @@
# return undef;
# }
#1.2 Specified by GLOB reference
- elsif((ref($sFile) =~ /GLOB/) or
- (ref($sFile) eq 'Fh')) { #For CGI.pm (Light FileHandle)
+ elsif(($ref =~ /GLOB/) or
+ ($ref eq 'Fh')) { #For CGI.pm (Light FileHandle)
binmode($sFile);
my $sWk;
my $sBuff='';
@@ -364,15 +365,23 @@
($sBIFF, $iLen) = $oThis->{GetContent}->(\$sBuff);
return undef unless($sBIFF);
}
- elsif(ref($sFile) eq 'ARRAY') {
+ elsif($ref eq 'ARRAY') {
#1.3 Specified by File content
$oBook->{File} = undef;
my $sData = join('', @$sFile);
($sBIFF, $iLen) = $oThis->{GetContent}->(\$sData);
return undef unless($sBIFF);
}
+ elsif (grep {$ref eq $_} qw(IO::File IO::Handle IO::Wrap)) {
+#1.4 Specified by IO::File/Handle/Wrap object
+ $oBook->{File} = undef;
+ my $sBuff = join('',$sFile->getlines);
+ warn "Acá estoy - sBuff mide ",length($sBuff);
+ ($sBIFF, $iLen) = $oThis->{GetContent}->(\$sBuff);
+ return undef unless($sBIFF);
+ }
else {
-#1.4 Specified by File name
+#1.5 Specified by File name
$oBook->{File} = $sFile;
return undef unless (-e $sFile);
($sBIFF, $iLen) = $oThis->{GetContent}->($sFile);
Modified: packages/libspreadsheet-parseexcel-perl/trunk/debian/changelog
===================================================================
--- packages/libspreadsheet-parseexcel-perl/trunk/debian/changelog 2005-05-19 16:17:35 UTC (rev 1033)
+++ packages/libspreadsheet-parseexcel-perl/trunk/debian/changelog 2005-05-24 19:27:01 UTC (rev 1034)
@@ -1,3 +1,10 @@
+libspreadsheet-parseexcel-perl (0.2603-3) unstable; urgency=low
+
+ * Now allows for IO::File, IO::Handle, IO::Wrap objects to be passed
+ in (Closes: #112130)
+
+ -- Gunnar Wolf <gwolf@debian.org> Tue, 24 May 2005 14:24:04 -0500
+
libspreadsheet-parseexcel-perl (0.2603-2) unstable; urgency=low
* Modified source package name to libspreadsheet-parseexcel-perl to be