Changeset 713 for pykota/trunk/pykota/storages/sql.py
- Timestamp:
- 02/06/03 10:19:02 (21 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/pykota/storages/sql.py
r708 r713 15 15 # 16 16 # $Log$ 17 # Revision 1.6 2003/02/06 09:19:02 jalet 18 # More robust behavior (hopefully) when the user or printer is not managed 19 # correctly by the Quota System : e.g. cupsFilter added in ppd file, but 20 # printer and/or user not 'yet?' in storage. 21 # 17 22 # Revision 1.5 2003/02/05 23:26:22 jalet 18 23 # Incorrect handling of grace delay … … 60 65 61 66 def addUserPQuota(self, username, printername) : 62 printerid = self.getPrinterId(printername)67 (userid, printerid) = self.getUPIds(username, printername) 63 68 if printerid is None : 64 69 self.doQuery("INSERT INTO printers (printername) VALUES (%s);" % self.doQuote(printername)) 65 printerid = self.getPrinterId(printername)66 userid = self.getUserId(username)67 70 if userid is None : 68 71 self.doQuery("INSERT INTO users (username) VALUES (%s);" % self.doQuote(username)) 69 userid = self.getUserId(username)70 if ( printerid is not None) and (userid is not None) :72 (userid, printerid) = self.getUPIds(username, printername) 73 if (userid is not None) and (printerid is not None) : 71 74 return self.doQuery("INSERT INTO userpquota (userid, printerid) VALUES (%s, %s);" % (self.doQuote(userid), self.doQuote(printerid))) 72 75 76 def getUPIds(self, username, printername) : 77 return (self.getUserId(username), self.getPrinterId(printername)) 78 73 79 def getUserPQuota(self, username, printername) : 74 result = self.doQuery("SELECT pagecounter, softlimit, hardlimit, datelimit FROM userpquota WHERE userid=%s AND printerid=%s;" % (self.doQuote(self.getUserId(username)), self.doQuote(self.getPrinterId(printername)))) 75 try : 76 return self.doParseResult(result)[0] 77 except TypeError : # Not found 78 return 80 (userid, printerid) = self.getUPIds(username, printername) 81 if (userid is not None) and (printerid is not None) : 82 result = self.doQuery("SELECT pagecounter, softlimit, hardlimit, datelimit FROM userpquota WHERE userid=%s AND printerid=%s;" % (self.doQuote(userid), self.doQuote(printerid))) 83 try : 84 return self.doParseResult(result)[0] 85 except TypeError : # Not found 86 pass 79 87 80 88 def setUserPQuota(self, username, printername, softlimit, hardlimit) : 81 self.doQuery("UPDATE userpquota SET softlimit=%s, hardlimit=%s, datelimit=NULL WHERE userid=%s AND printerid=%s;" % (self.doQuote(softlimit), self.doQuote(hardlimit), self.doQuote(self.getUserId(username)), self.doQuote(self.getPrinterId(printername)))) 89 (userid, printerid) = self.getUPIds(username, printername) 90 if (userid is not None) and (printerid is not None) : 91 self.doQuery("UPDATE userpquota SET softlimit=%s, hardlimit=%s, datelimit=NULL WHERE userid=%s AND printerid=%s;" % (self.doQuote(softlimit), self.doQuote(hardlimit), self.doQuote(userid), self.doQuote(printerid))) 82 92 83 93 def updateUserPQuota(self, username, printername, pagecount) : 84 self.doQuery("UPDATE userpquota SET pagecounter=pagecounter+(%s) WHERE userid=%s AND printerid=%s;" % (self.doQuote(pagecount), self.doQuote(self.getUserId(username)), self.doQuote(self.getPrinterId(printername)))) 94 (userid, printerid) = self.getUPIds(username, printername) 95 if (userid is not None) and (printerid is not None) : 96 self.doQuery("UPDATE userpquota SET pagecounter=pagecounter+(%s) WHERE userid=%s AND printerid=%s;" % (self.doQuote(pagecount), self.doQuote(userid), self.doQuote(printerid))) 85 97 86 98 def buyUserPQuota(self, username, printername, pagebought) :