Changeset 1990 for pykota/trunk/pykota/storages/sql.py
- Timestamp:
- 12/21/04 15:45:31 (19 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/pykota/storages/sql.py
r1875 r1990 22 22 # 23 23 # $Log$ 24 # Revision 1.60 2004/12/21 14:45:31 jalet 25 # Prepared dumpykota to accept the new --filter command line option. Some 26 # additionnal work needs to be done in the backends though. 27 # 24 28 # Revision 1.59 2004/10/25 14:12:25 jalet 25 29 # For URGENT legal reasons (Italy), a new "privacy" directive was added to pykota.conf … … 132 136 return entries 133 137 134 def extractPrinters(self ) :138 def extractPrinters(self, extractonly={}) : 135 139 """Extracts all printer records.""" 136 140 result = self.doRawSearch("SELECT * FROM printers ORDER BY id ASC") 137 141 return self.prepareRawResult(result) 138 142 139 def extractUsers(self ) :143 def extractUsers(self, extractonly={}) : 140 144 """Extracts all user records.""" 141 145 result = self.doRawSearch("SELECT * FROM users ORDER BY id ASC") 142 146 return self.prepareRawResult(result) 143 147 144 def extractGroups(self ) :148 def extractGroups(self, extractonly={}) : 145 149 """Extracts all group records.""" 146 150 result = self.doRawSearch("SELECT groups.*,COALESCE(SUM(balance), 0) AS balance, COALESCE(SUM(lifetimepaid), 0) as lifetimepaid FROM groups LEFT OUTER JOIN users ON users.id IN (SELECT userid FROM groupsmembers WHERE groupid=groups.id) GROUP BY groups.id,groups.groupname,groups.limitby ORDER BY groups.id ASC") 147 151 return self.prepareRawResult(result) 148 152 149 def extractPayments(self ) :153 def extractPayments(self, extractonly={}) : 150 154 """Extracts all payment records.""" 151 155 result = self.doRawSearch("SELECT username,payments.* FROM users,payments WHERE users.id=payments.userid ORDER BY payments.id ASC") 152 156 return self.prepareRawResult(result) 153 157 154 def extractUpquotas(self ) :158 def extractUpquotas(self, extractonly={}) : 155 159 """Extracts all userpquota records.""" 156 160 result = self.doRawSearch("SELECT users.username,printers.printername,userpquota.* FROM users,printers,userpquota WHERE users.id=userpquota.userid AND printers.id=userpquota.printerid ORDER BY userpquota.id ASC") 157 161 return self.prepareRawResult(result) 158 162 159 def extractGpquotas(self ) :163 def extractGpquotas(self, extractonly={}) : 160 164 """Extracts all grouppquota records.""" 161 165 result = self.doRawSearch("SELECT groups.groupname,printers.printername,grouppquota.*,coalesce(sum(pagecounter), 0) AS pagecounter,coalesce(sum(lifepagecounter), 0) AS lifepagecounter FROM groups,printers,grouppquota,userpquota WHERE groups.id=grouppquota.groupid AND printers.id=grouppquota.printerid AND userpquota.printerid=grouppquota.printerid AND userpquota.userid IN (SELECT userid FROM groupsmembers WHERE groupsmembers.groupid=grouppquota.groupid) GROUP BY grouppquota.id,grouppquota.groupid,grouppquota.printerid,grouppquota.softlimit,grouppquota.hardlimit,grouppquota.datelimit,groups.groupname,printers.printername ORDER BY grouppquota.id") 162 166 return self.prepareRawResult(result) 163 167 164 def extractUmembers(self ) :168 def extractUmembers(self, extractonly={}) : 165 169 """Extracts all user groups members.""" 166 170 result = self.doRawSearch("SELECT groups.groupname, users.username, groupsmembers.* FROM groups,users,groupsmembers WHERE users.id=groupsmembers.userid AND groups.id=groupsmembers.groupid ORDER BY groupsmembers.groupid, groupsmembers.userid ASC") 167 171 return self.prepareRawResult(result) 168 172 169 def extractPmembers(self ) :173 def extractPmembers(self, extractonly={}) : 170 174 """Extracts all printer groups members.""" 171 175 result = self.doRawSearch("SELECT p1.printername as pgroupname, p2.printername as printername, printergroupsmembers.* FROM printers p1, printers p2, printergroupsmembers WHERE p1.id=printergroupsmembers.groupid AND p2.id=printergroupsmembers.printerid ORDER BY printergroupsmembers.groupid, printergroupsmembers.printerid ASC") 172 176 return self.prepareRawResult(result) 173 177 174 def extractHistory(self ) :178 def extractHistory(self, extractonly={}) : 175 179 """Extracts all jobhistory records.""" 176 180 result = self.doRawSearch("SELECT users.username,printers.printername,jobhistory.* FROM users,printers,jobhistory WHERE users.id=jobhistory.userid AND printers.id=jobhistory.printerid ORDER BY jobhistory.id ASC")