Changeset 2066 for pykota/trunk/bin/cupspykota
- Timestamp:
- 02/16/05 01:29:33 (19 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/bin/cupspykota
r2062 r2066 24 24 # 25 25 # $Log$ 26 # Revision 1.89 2005/02/16 00:29:33 jalet 27 # Fixed the maxdenybanners directive. 28 # Introduced the denyduplicates directive. 29 # Fixed some database related glitches. 30 # 26 31 # Revision 1.88 2005/02/14 23:39:50 jalet 27 32 # Introduces the new 'trustjobsize' directive to workaround some printers … … 534 539 self.logdebug("Precomputed job's size is %s pages, price is %s units" % (self.softwareJobSize, self.softwareJobPrice)) 535 540 536 # if no data to pass to real backend, probably a filter537 # higher in the chain failed because of a misconfiguration.538 # we deny the job in this case (nothing to print anyway)539 541 if not self.jobSizeBytes : 542 # if no data to pass to real backend, probably a filter 543 # higher in the chain failed because of a misconfiguration. 544 # we deny the job in this case (nothing to print anyway) 540 545 self.printMoreInfo(user, printer, _("Job contains no data. Printing is denied."), "warn") 541 546 action = "DENY" 547 elif self.config.getDenyDuplicates(printer.Name) \ 548 and printer.LastJob.Exists \ 549 and (printer.LastJob.UserName == user.Name) \ 550 and (printer.LastJob.JobMD5Sum == self.checksum) : 551 self.printMoreInfo(user, printer, _("Job is a duplicate. Printing is denied."), "warn") 552 action = "DENY" 542 553 else : 543 554 # checks the user's quota … … 557 568 accountbanner = self.config.getAccountBanner(printer.Name) 558 569 if accountbanner in ["ENDING", "NONE"] : 559 if (action == 'DENY') and (userpquota.WarnCount < self.config.getMaxDenyBanners()) :570 if (action == 'DENY') and (userpquota.WarnCount >= self.config.getMaxDenyBanners(printer.Name)) : 560 571 self.printInfo(_("Banner won't be printed : maximum number of deny banners reached."), "warn") 561 572 else : 562 573 if action == 'DENY' : 563 userpquota.warn() # increments the warning counter 574 self.logdebug("Incrementing the number of deny banners for user %s on printer %s" % (user.Name, printer.Name)) 575 userpquota.incDenyBannerCounter() # increments the warning counter 564 576 self.exportUserInfo(userpquota) 565 577 banner = self.startingBanner(printer.Name) … … 573 585 # handle starting banner pages during accounting 574 586 if accountbanner in ["STARTING", "BOTH"] : 575 if (action == 'DENY') and (userpquota.WarnCount < self.config.getMaxDenyBanners()) :587 if (action == 'DENY') and (userpquota.WarnCount >= self.config.getMaxDenyBanners(printer.Name)) : 576 588 self.printInfo(_("Banner won't be printed : maximum number of deny banners reached."), "warn") 577 589 else : 578 590 if action == 'DENY' : 579 userpquota.warn() # increments the warning counter 591 self.logdebug("Incrementing the number of deny banners for user %s on printer %s" % (user.Name, printer.Name)) 592 userpquota.incDenyBannerCounter() # increments the warning counter 580 593 self.exportUserInfo(userpquota) 581 594 banner = self.startingBanner(printer.Name) … … 604 617 # handle ending banner pages during accounting 605 618 if accountbanner in ["ENDING", "BOTH"] : 606 if (action == 'DENY') and (userpquota.WarnCount < self.config.getMaxDenyBanners()) :619 if (action == 'DENY') and (userpquota.WarnCount >= self.config.getMaxDenyBanners(printer.Name)) : 607 620 self.printInfo(_("Banner won't be printed : maximum number of deny banners reached."), "warn") 608 621 else : 609 622 if action == 'DENY' : 610 userpquota.warn() # increments the warning counter 623 self.logdebug("Incrementing the number of deny banners for user %s on printer %s" % (user.Name, printer.Name)) 624 userpquota.incDenyBannerCounter() # increments the warning counter 611 625 self.exportUserInfo(userpquota) 612 626 banner = self.endingBanner(printer.Name) … … 626 640 self.printMoreInfo(user, printer, _("Job size forced to 0 because printing is denied.")) 627 641 else : 642 userpquota.resetDenyBannerCounter() 628 643 jobsize = self.accounter.getJobSize(printer) 629 644 if self.softwareJobSize and (jobsize != self.softwareJobSize) : … … 664 679 # handle ending banner pages after accounting ends 665 680 if accountbanner in ["STARTING", "NONE"] : 666 if (action == 'DENY') and (userpquota.WarnCount < self.config.getMaxDenyBanners()) :681 if (action == 'DENY') and (userpquota.WarnCount >= self.config.getMaxDenyBanners(printer.Name)) : 667 682 self.printInfo(_("Banner won't be printed : maximum number of deny banners reached."), "warn") 668 683 else : 669 684 if action == 'DENY' : 670 userpquota.warn() # increments the warning counter 685 self.logdebug("Incrementing the number of deny banners for user %s on printer %s" % (user.Name, printer.Name)) 686 userpquota.incDenyBannerCounter() # increments the warning counter 671 687 self.exportUserInfo(userpquota) 672 688 banner = self.endingBanner(printer.Name)