Changeset 929 for pykota/trunk/pykota/storages/sql.py
- Timestamp:
- 04/17/03 11:26:21 (21 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/pykota/storages/sql.py
r927 r929 21 21 # 22 22 # $Log$ 23 # Revision 1.28 2003/04/17 09:26:21 jalet 24 # repykota now reports account balances too. 25 # 23 26 # Revision 1.27 2003/04/16 12:35:49 jalet 24 27 # Groups quota work now ! … … 254 257 def getUserBalance(self, userid) : 255 258 """Returns the current account balance for a given user.""" 256 result = self.doQuery("SELECT balance FROM users WHERE id=%s" % self.doQuote(userid)) 257 try : 258 return self.doParseResult(result)[0]["balance"] 259 except TypeError : # Not found 260 return 259 result = self.doQuery("SELECT balance, lifetimepaid FROM users WHERE id=%s" % self.doQuote(userid)) 260 try : 261 result = self.doParseResult(result)[0] 262 except TypeError : # Not found 263 return 264 else : 265 return (result["balance"], result["lifetimepaid"]) 261 266 262 267 def getGroupBalance(self, groupid) : 263 268 """Returns the current account balance for a given group, as the sum of each of its users' account balance.""" 264 result = self.doQuery("SELECT SUM(balance) AS balance FROM users WHERE id in (SELECT userid FROM groupsmembers WHERE groupid=%s)" % self.doQuote(groupid)) 265 try : 266 return self.doParseResult(result)[0]["balance"] 267 except TypeError : # Not found 268 return 269 result = self.doQuery("SELECT SUM(balance) AS balance, SUM(lifetimepaid) AS lifetimepaid FROM users WHERE id in (SELECT userid FROM groupsmembers WHERE groupid=%s)" % self.doQuote(groupid)) 270 try : 271 result = self.doParseResult(result)[0] 272 except TypeError : # Not found 273 return 274 else : 275 return (result["balance"], result["lifetimepaid"]) 269 276 270 277 def getUserLimitBy(self, userid) : … … 286 293 def setUserBalance(self, userid, balance) : 287 294 """Sets the account balance for a given user to a fixed value.""" 288 current= self.getUserBalance(userid)295 (current, lifetimepaid) = self.getUserBalance(userid) 289 296 difference = balance - current 290 297 self.increaseUserBalance(userid, difference)