Show
Ignore:
Timestamp:
09/17/05 23:00:45 (19 years ago)
Author:
jerome
Message:

Added the precomputed job's size and price to the history.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/storages/ldapstorage.py

    r2452 r2455  
    535535                                                                  "pykotaPages",  
    536536                                                                  "pykotaMD5Sum",  
     537                                                                  "pykotaPrecomputedJobSize", 
     538                                                                  "pykotaPrecomputedJobPrice", 
    537539                                                                  "createTimestamp" ],  
    538540                                                                base="cn=%s,%s" % (lastjobident, self.info["jobbase"]), scope=ldap.SCOPE_BASE) 
     
    563565                lastjob.JobMD5Sum = fields.get("pykotaMD5Sum", [None])[0] 
    564566                lastjob.JobPages = fields.get("pykotaPages", [""])[0] 
     567                try : 
     568                    lastjob.PrecomputedJobSize = int(fields.get("pykotaPrecomputedJobSize", [0])[0]) 
     569                except ValueError :     
     570                    lastjob.PrecomputedJobSize = None 
     571                try :     
     572                    lastjob.PrecomputedJobPrice = float(fields.get("pykotaPrecomputedJobPrice", [0.0])[0]) 
     573                except ValueError :     
     574                    lastjob.PrecomputedJobPrice = None 
    565575                if lastjob.JobTitle == lastjob.JobFileName == lastjob.JobOptions == "hidden" : 
    566576                    (lastjob.JobTitle, lastjob.JobFileName, lastjob.JobOptions) = (_("Hidden because of privacy concerns"),) * 3 
     
    961971        self.doModify(lastjob.ident, fields)          
    962972         
    963     def writeJobNew(self, printer, user, jobid, pagecounter, action, jobsize=None, jobprice=None, filename=None, title=None, copies=None, options=None, clienthost=None, jobsizebytes=None, jobmd5sum=None, jobpages=None, jobbilling=None) : 
     973    def writeJobNew(self, printer, user, jobid, pagecounter, action, jobsize=None, jobprice=None, filename=None, title=None, copies=None, options=None, clienthost=None, jobsizebytes=None, jobmd5sum=None, jobpages=None, jobbilling=None, precomputedsize=None, precomputedprice=None) : 
    964974        """Adds a job in a printer's history.""" 
    965975        if (not self.disablehistory) or (not printer.LastJob.Exists) : 
     
    989999                   "pykotaPages" : jobpages,            # don't add this attribute if it is not set, so no string conversion 
    9901000                   "pykotaBillingCode" : self.userCharsetToDatabase(jobbilling), # don't add this attribute if it is not set, so no string conversion 
     1001                   "pykotaPrecomputedJobSize" : str(precomputedsize), 
     1002                   "pykotaPrecomputedPrice" : str(precomputedprice), 
    9911003                 } 
    9921004        if (not self.disablehistory) or (not printer.LastJob.Exists) : 
     
    11021114                                               "pykotaPages",  
    11031115                                               "pykotaMD5Sum",  
     1116                                               "pykotaPrecomputedJobSize", 
     1117                                               "pykotaPrecomputedJobPrice", 
    11041118                                               "createTimestamp" ],  
    11051119                                      base=self.info["jobbase"]) 
     
    11281142                job.JobMD5Sum = fields.get("pykotaMD5Sum", [None])[0] 
    11291143                job.JobPages = fields.get("pykotaPages", [""])[0] 
     1144                try : 
     1145                    job.PrecomputedJobSize = int(fields.get("pykotaPrecomputedJobSize", [0])[0]) 
     1146                except ValueError :     
     1147                    job.PrecomputedJobSize = None 
     1148                try :     
     1149                    job.PrecomputedJobPrice = float(fields.get("pykotaPrecomputedJobPrice", [0.0])[0]) 
     1150                except ValueError : 
     1151                    job.PrecomputedJobPrice = None 
    11301152                if job.JobTitle == job.JobFileName == job.JobOptions == "hidden" : 
    11311153                    (job.JobTitle, job.JobFileName, job.JobOptions) = (_("Hidden because of privacy concerns"),) * 3 
     
    13841406        entries = self.retrieveHistory(user, printer, hostname=extractonly.get("hostname"), billingcode=extractonly.get("billingcode"), limit=None, start=startdate, end=enddate) 
    13851407        if entries : 
    1386             result = [ ("username", "printername", "dn", "jobid", "pagecounter", "jobsize", "action", "jobdate", "filename", "title", "copies", "options", "jobprice", "hostname", "jobsizebytes", "md5sum", "pages", "billingcode") ]  
     1408            result = [ ("username", "printername", "dn", "jobid", "pagecounter", "jobsize", "action", "jobdate", "filename", "title", "copies", "options", "jobprice", "hostname", "jobsizebytes", "md5sum", "pages", "billingcode", "precomputedjobsize", "precomputedjobprice") ]  
    13871409            for entry in entries : 
    1388                 result.append((entry.UserName, entry.PrinterName, entry.ident, entry.JobId, entry.PrinterPageCounter, entry.JobSize, entry.JobAction, entry.JobDate, entry.JobFileName, entry.JobTitle, entry.JobCopies, entry.JobOptions, entry.JobPrice, entry.JobHostName, entry.JobSizeBytes, entry.JobMD5Sum, entry.JobPages, entry.JobBillingCode))  
     1410                result.append((entry.UserName, entry.PrinterName, entry.ident, entry.JobId, entry.PrinterPageCounter, entry.JobSize, entry.JobAction, entry.JobDate, entry.JobFileName, entry.JobTitle, entry.JobCopies, entry.JobOptions, entry.JobPrice, entry.JobHostName, entry.JobSizeBytes, entry.JobMD5Sum, entry.JobPages, entry.JobBillingCode, entry.PrecomputedJobSize, entry.PrecomputedJobPrice))  
    13891411            return result 
    13901412