Changeset 802 for pykota/trunk/pykota/tool.py
- Timestamp:
- 02/17/03 23:55:01 (21 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/pykota/tool.py
r788 r802 15 15 # 16 16 # $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 # 17 27 # Revision 1.19 2003/02/10 11:28:45 jalet 18 28 # Localization … … 116 126 self.printername = os.environ.get("PRINTER", None) 117 127 self.smtpserver = self.config.getSMTPServer() 118 self.admin = self.config.getAdmin()119 self.adminmail = self.config.getAdminMail()120 128 121 129 def display_version_and_quit(self) : … … 202 210 return 0 203 211 204 def sendMessage(self, touser, fullmessage) :212 def sendMessage(self, adminmail, touser, fullmessage) : 205 213 """Sends an email message containing headers to some user.""" 206 214 if "@" not in touser : 207 215 touser = "%s@%s" % (touser, self.smtpserver) 208 216 server = smtplib.SMTP(self.smtpserver) 209 server.sendmail( self.adminmail, [touser], fullmessage)217 server.sendmail(adminmail, [touser], fullmessage) 210 218 server.quit() 211 219 212 def sendMessageToUser(self, username, subject, message) :220 def sendMessageToUser(self, admin, adminmail, username, subject, message) : 213 221 """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) : 218 226 """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)) 220 228 221 229 def checkUserPQuota(self, username, printername) : … … 267 275 """Checks a user quota and send him a message if quota is exceeded on current printer.""" 268 276 pname = printername or self.printername 277 admin = self.config.getAdmin(pname) 278 adminmail = self.config.getAdminMail(pname) 269 279 (action, grace, gracedate) = self.checkUserPQuota(username, pname) 270 280 if action == "DENY" : … … 273 283 adminmessage = _("Print Quota exceeded for user %s on printer %s") % (username, pname) 274 284 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) 277 287 elif action == "WARN" : 278 288 adminmessage = _("Print Quota soft limit exceeded for user %s on printer %s") % (username, pname) 279 289 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) 282 292 return action 283 293