Changeset 2635 for pykota/trunk/pykota/accounter.py
- Timestamp:
- 01/31/06 12:32:34 (18 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/pykota/accounter.py
r2622 r2635 36 36 class AccounterBase : 37 37 """A class to account print usage by querying printers.""" 38 def __init__(self, kotafilter, arguments ) :38 def __init__(self, kotafilter, arguments, ispreaccounter=0) : 39 39 """Sets instance vars depending on the current printer.""" 40 40 self.filter = kotafilter … … 42 42 self.onerror = self.filter.config.getPrinterOnAccounterError(self.filter.PrinterName) 43 43 self.isSoftware = 1 # by default software accounting 44 self.isPreAccounter = ispreaccounter 44 45 45 46 def getLastPageCounter(self) : … … 58 59 59 60 # get last job information for this printer 60 if not printer.LastJob.Exists : 61 # The printer hasn't been used yet, from PyKota's point of view 62 self.LastPageCounter = 0 63 else : 64 # get last job size and page counter from Quota Storage 65 # Last lifetime page counter before actual job is 66 # last page counter + last job size 67 self.LastPageCounter = int(printer.LastJob.PrinterPageCounter or 0) + int(printer.LastJob.JobSize or 0) 61 if not self.isPreAccounter : 62 # TODO : check if this code is still needed 63 if not printer.LastJob.Exists : 64 # The printer hasn't been used yet, from PyKota's point of view 65 self.LastPageCounter = 0 66 else : 67 # get last job size and page counter from Quota Storage 68 # Last lifetime page counter before actual job is 69 # last page counter + last job size 70 self.LastPageCounter = int(printer.LastJob.PrinterPageCounter or 0) + int(printer.LastJob.JobSize or 0) 68 71 69 72 def fakeBeginJob(self) : … … 86 89 raise RuntimeError, "AccounterBase.computeJobSize() must be overriden !" 87 90 88 def openAccounter(kotafilter ) :91 def openAccounter(kotafilter, ispreaccounter=0) : 89 92 """Returns a connection handle to the appropriate accounter.""" 90 (backend, args) = kotafilter.config.getAccounterBackend(kotafilter.PrinterName) 93 if ispreaccounter : 94 (backend, args) = kotafilter.config.getPreAccounterBackend(kotafilter.PrinterName) 95 else : 96 (backend, args) = kotafilter.config.getAccounterBackend(kotafilter.PrinterName) 91 97 try : 92 98 exec "from pykota.accounters import %s as accounterbackend" % backend.lower() … … 94 100 raise PyKotaAccounterError, _("Unsupported accounter backend %s") % backend 95 101 else : 96 return accounterbackend.Accounter(kotafilter, args )102 return accounterbackend.Accounter(kotafilter, args, ispreaccounter)