Show
Ignore:
Timestamp:
02/17/03 23:55:01 (21 years ago)
Author:
jalet
Message:

More options can now be set per printer or globally :

admin
adminmail
gracedelay
requester

the printer option has priority when both are defined.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/tool.py

    r788 r802  
    1515# 
    1616# $Log$ 
     17# Revision 1.20  2003/02/17 22:55:01  jalet 
     18# More options can now be set per printer or globally : 
     19# 
     20#       admin 
     21#       adminmail 
     22#       gracedelay 
     23#       requester 
     24# 
     25# the printer option has priority when both are defined. 
     26# 
    1727# Revision 1.19  2003/02/10 11:28:45  jalet 
    1828# Localization 
     
    116126        self.printername = os.environ.get("PRINTER", None) 
    117127        self.smtpserver = self.config.getSMTPServer() 
    118         self.admin = self.config.getAdmin() 
    119         self.adminmail = self.config.getAdminMail() 
    120128         
    121129    def display_version_and_quit(self) : 
     
    202210        return 0 
    203211         
    204     def sendMessage(self, touser, fullmessage) : 
     212    def sendMessage(self, adminmail, touser, fullmessage) : 
    205213        """Sends an email message containing headers to some user.""" 
    206214        if "@" not in touser : 
    207215            touser = "%s@%s" % (touser, self.smtpserver) 
    208216        server = smtplib.SMTP(self.smtpserver) 
    209         server.sendmail(self.adminmail, [touser], fullmessage) 
     217        server.sendmail(adminmail, [touser], fullmessage) 
    210218        server.quit() 
    211219         
    212     def sendMessageToUser(self, username, subject, message) : 
     220    def sendMessageToUser(self, admin, adminmail, username, subject, message) : 
    213221        """Sends an email message to a user.""" 
    214         message += _("\n\nPlease contact your system administrator :\n\n\t%s - <%s>\n") % (self.admin, self.adminmail) 
    215         self.sendMessage(username, "Subject: %s\n\n%s" % (subject, message)) 
    216          
    217     def sendMessageToAdmin(self, subject, message) : 
     222        message += _("\n\nPlease contact your system administrator :\n\n\t%s - <%s>\n") % (admin, adminmail) 
     223        self.sendMessage(adminmail, username, "Subject: %s\n\n%s" % (subject, message)) 
     224         
     225    def sendMessageToAdmin(self, adminmail, subject, message) : 
    218226        """Sends an email message to the Print Quota administrator.""" 
    219         self.sendMessage(self.adminmail, "Subject: %s\n\n%s" % (subject, message)) 
     227        self.sendMessage(adminmail, adminmail, "Subject: %s\n\n%s" % (subject, message)) 
    220228         
    221229    def checkUserPQuota(self, username, printername) : 
     
    267275        """Checks a user quota and send him a message if quota is exceeded on current printer.""" 
    268276        pname = printername or self.printername 
     277        admin = self.config.getAdmin(pname) 
     278        adminmail = self.config.getAdminMail(pname) 
    269279        (action, grace, gracedate) = self.checkUserPQuota(username, pname) 
    270280        if action == "DENY" : 
     
    273283                adminmessage = _("Print Quota exceeded for user %s on printer %s") % (username, pname) 
    274284                self.logger.log_message(adminmessage) 
    275                 self.sendMessageToUser(username, _("Print Quota Exceeded"), _("You are not allowed to print anymore because\nyour Print Quota is exceeded on printer %s.") % pname) 
    276                 self.sendMessageToAdmin("Print Quota", adminmessage) 
     285                self.sendMessageToUser(admin, adminmail, username, _("Print Quota Exceeded"), _("You are not allowed to print anymore because\nyour Print Quota is exceeded on printer %s.") % pname) 
     286                self.sendMessageToAdmin(adminmail, _("Print Quota"), adminmessage) 
    277287        elif action == "WARN" :     
    278288            adminmessage = _("Print Quota soft limit exceeded for user %s on printer %s") % (username, pname) 
    279289            self.logger.log_message(adminmessage) 
    280             self.sendMessageToUser(username, _("Print Quota Exceeded"), _("You will soon be forbidden to print anymore because\nyour Print Quota is almost reached on printer %s.") % pname) 
    281             self.sendMessageToAdmin(_("Print Quota"), adminmessage) 
     290            self.sendMessageToUser(admin, adminmail, username, _("Print Quota Exceeded"), _("You will soon be forbidden to print anymore because\nyour Print Quota is almost reached on printer %s.") % pname) 
     291            self.sendMessageToAdmin(adminmail, _("Print Quota"), adminmessage) 
    282292        return action         
    283293