Show
Ignore:
Timestamp:
05/05/05 00:01:38 (19 years ago)
Author:
jerome
Message:

Improved stability and allowed tracebacks in CGI scripts.
Improved pykotme.cgi to display the cost of print jobs when the user is logged-in.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/cgi-bin/pykotme.cgi

    r2210 r2229  
    130130                jobsize = parser.getJobSize() 
    131131            except PDLAnalyzerError, msg :     
    132                 self.body += '<font color="red">%s</font>' % msg 
     132                self.body += '<p><font color="red">%s</font></p>' % msg 
    133133            else :     
    134                 self.body += _("This file is %i pages long.") % jobsize 
     134                self.body += "<p>%s</p>" % (_("Job size : %i pages") % jobsize) 
     135                 
     136            remuser = os.environ.get("REMOTE_USER", "root")     
     137            # special hack to accomodate mod_auth_ldap Apache module 
     138            try : 
     139                remuser = remuser.split("=")[1].split(",")[0] 
     140            except IndexError :     
     141                pass 
     142            if remuser == "root" :     
     143                self.body += "<p>%s</p>" % _("The exact cost of a print job can only be determined for a particular user. Please retry while logged-in.") 
     144            else :     
     145                try :     
     146                    user = self.storage.getUser(remuser) 
     147                    for printer in printers : 
     148                        upquota = self.storage.getUserPQuota(user, printer) 
     149                        cost = upquota.computeJobPrice(jobsize) 
     150                        self.body += "<p>%s</p>" % (_("Cost on printer %s : %.2f") % (printer.Name, cost)) 
     151                except : 
     152                    self.body += '<p><font color="red">%s</font></p>' % self.crashed("CGI Error").replace("\n", "<br />") 
    135153             
    136154if __name__ == "__main__" :