Show
Ignore:
Timestamp:
08/26/04 00:34:39 (20 years ago)
Author:
jalet
Message:

Now both software and hardware accounting raise an exception when no valid
result can be extracted from the subprocess' output.
Hardware accounting now reads subprocess' output until an integer is read
or data is exhausted : it now behaves just like software accounting in this
aspect.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/accounters/software.py

    r1678 r1680  
    2222# 
    2323# $Log$ 
     24# Revision 1.9  2004/08/25 22:34:39  jalet 
     25# Now both software and hardware accounting raise an exception when no valid 
     26# result can be extracted from the subprocess' output. 
     27# Hardware accounting now reads subprocess' output until an integer is read 
     28# or data is exhausted : it now behaves just like software accounting in this 
     29# aspect. 
     30# 
    2431# Revision 1.8  2004/08/22 14:04:47  jalet 
    2532# Tries to fix problem with subprocesses outputting more datas than needed 
     
    7481            self.filter.printInfo(_("Unable to compute job size with accounter %s") % msg) 
    7582         
    76         pagecount = 0 
     83        pagecounter = None 
    7784        try : 
    7885            answer = child.fromchild.read() 
     
    8491            for i in range(len(lines)) :  
    8592                try : 
    86                     pagecount = int(lines[i]) 
     93                    pagecounter = int(lines[i]) 
    8794                except (AttributeError, ValueError) : 
    88                     self.filter.printInfo(_("Unable to compute job size with accounter %s") % self.arguments) 
    89                     self.filter.printInfo(_("Line skipped in accounter's output. Trying again...")) 
     95                    self.filter.printInfo(_("Line [%s] skipped in accounter's output. Trying again...") % lines[i]) 
    9096                else :     
    9197                    break 
     
    102108                status = retcode 
    103109            self.filter.printInfo(_("Software accounter %s exit code is %s") % (self.arguments, str(status))) 
    104         self.filter.logdebug("Software accounter %s said job is %s pages long." % (self.arguments, pagecount)) 
    105         return pagecount     
    106110             
     111        if pagecounter is None :     
     112            raise PyKotaAccounterError, _("Unable to compute job size with accounter %s") % self.arguments 
     113             
     114        self.filter.logdebug("Software accounter %s said job is %s pages long." % (self.arguments, pagecounter)) 
     115        return pagecounter     
     116