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