Index: pkpgcounter/trunk/tests/gstests.py
===================================================================
--- pkpgcounter/trunk/tests/gstests.py (revision 499)
+++ pkpgcounter/trunk/tests/gstests.py (revision 501)
@@ -97,6 +97,6 @@
             sys.stdout.write("OK\n")
             passed += 1
-    print "Passed : %i     %.2f" % (passed, 100.0 * passed / nbtests)
-    print "Failed : %i     %.2f" % (failed, 100.0 * failed / nbtests)
+    print "Passed : %i (%.2f%%)" % (passed, 100.0 * passed / nbtests)
+    print "Failed : %i (%.2f%%)" % (failed, 100.0 * failed / nbtests)
             
 def main() :        
Index: pkpgcounter/trunk/pkpgpdls/pil.py
===================================================================
--- pkpgcounter/trunk/pkpgpdls/pil.py (revision 501)
+++ pkpgcounter/trunk/pkpgpdls/pil.py (revision 501)
@@ -0,0 +1,54 @@
+#! /usr/bin/env python
+# -*- coding: ISO-8859-15 -*-
+#
+# pkpgcounter : a generic Page Description Language parser
+#
+# (c) 2003, 2004, 2005, 2006, 2007 Jerome Alet <alet@librelogiciel.com>
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# $Id$
+#
+
+"""This modules implements a page counter for image formats supported by the Python Imaging Library."""
+
+from PIL import Image
+
+import pdlparser
+import version
+
+class Parser(pdlparser.PDLParser) :
+    """A parser for plain text documents."""
+    totiffcommands = [ 'convert "%(infname)s" "%(outfname)s"',
+                     ]  
+    def isValid(self) :    
+        """Returns True if data is an image format supported by PIL, else False."""   
+        try :
+            image = Image.open(self.filename)
+        except IOError :    
+            return False
+        else :    
+            self.logdebug("DEBUG: Input file seems to be an image in the %s (%s) format." % (image.format, image.format_description))
+            return True
+            
+    def getJobSize(self) :
+        """Counts pages in an image file."""
+        index = 0
+        image = Image.open(self.filename)
+        try :
+            while True :
+                index += 1              
+                image.seek(index)
+        except EOFError :        
+            pass
+        return index    
Index: pkpgcounter/trunk/pkpgpdls/analyzer.py
===================================================================
--- pkpgcounter/trunk/pkpgpdls/analyzer.py (revision 493)
+++ pkpgcounter/trunk/pkpgpdls/analyzer.py (revision 501)
@@ -28,5 +28,5 @@
 import tempfile
 
-import version, pdlparser, postscript, pdf, pcl345, pclxl, hbp, \
+import version, pdlparser, postscript, pdf, pcl345, pclxl, hbp, pil, \
        lidil, escp2, dvi, tiff, ooo, zjstream, qpdl, spl1, escpages03, plain
 import inkcoverage
@@ -82,14 +82,11 @@
             try :
                 pdlhandler = self.detectPDLHandler()
-                (handle, filename) = tempfile.mkstemp(".tmp", "pkpgcounter")
-                os.close(handle)
+                dummyfile = tempfile.NamedTemporaryFile(mode="w+b")
+                filename = dummyfile.name
                 try :
                     pdlhandler.convertToTiffMultiPage24NC(filename, self.options.resolution)
                     result = inkcoverage.getInkCoverage(filename, cspace)
                 finally :    
-                    try :
-                        os.remove(filename)
-                    except OSError :    
-                        sys.stderr.write("Problem while trying to remove temporary file %s\n" % filename)
+                    dummyfile.close()
             except pdlparser.PDLParserError, msg :    
                 raise pdlparser.PDLParserError, "Unknown file format for %s (%s)" % (self.filename, msg)
@@ -161,4 +158,5 @@
                        escp2, \
                        escpages03, \
+                       pil, \
                        plain) :     # IMPORTANT : don't move this one up !
             try :               
Index: pkpgcounter/trunk/pkpgpdls/image.py
===================================================================
--- pkpgcounter/trunk/pkpgpdls/image.py (revision 500)
+++  (revision )
@@ -1,53 +1,0 @@
-#! /usr/bin/env python
-# -*- coding: ISO-8859-15 -*-
-#
-# pkpgcounter : a generic Page Description Language parser
-#
-# (c) 2003, 2004, 2005, 2006, 2007 Jerome Alet <alet@librelogiciel.com>
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# $Id$
-#
-
-"""This modules implements a page counter for image formats supported by the Python Imaging Library."""
-
-from PIL import Image
-
-import pdlparser
-import version
-
-class Parser(pdlparser.PDLParser) :
-    """A parser for plain text documents."""
-    totiffcommands = [ 'convert "%(infname)s" "%(outfname)s"',
-                     ]  
-    def isValid(self) :    
-        """Returns True if data is an image format supported by PIL, else False."""   
-        try :
-            image = Image.open(self.filename)
-        except IOError :    
-            return False
-        else :    
-            return True
-            
-    def getJobSize(self) :
-        """Counts pages in an image file."""
-        index = 0
-        image = Image.open(self.filename)
-        try :
-            while True :
-                index += 1              
-                image.seek(index)
-        except EOFError :        
-            pass
-        return index    
