- Timestamp:
- 09/15/04 09:26:20 (20 years ago)
- Location:
- pykota/trunk
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/bin/dumpykota
r1718 r1719 24 24 # 25 25 # $Log$ 26 # Revision 1.4 2004/09/15 07:26:19 jalet 27 # Data dumps are now ordered by entry creation date if applicable. 28 # Now dumpykota exits with a message when there's a broken pipe like 29 # in dumpykota --data history | head -3 30 # 26 31 # Revision 1.3 2004/09/15 06:58:25 jalet 27 32 # User groups membership and printer groups membership can now be dumped too … … 125 130 entries = getattr(self.storage, "extract%s" % datatype.title())() 126 131 if entries is not None : 127 getattr(self, "dump%s" % format.title())(entries)132 return getattr(self, "dump%s" % format.title())(entries) 128 133 return 0 129 134 … … 132 137 for entry in entries : 133 138 line = separator.join([ '"%s"' % field for field in entry ]) 134 print line 139 try : 140 print line 141 except IOError, msg : 142 sys.stderr.write("%s : %s\n" % (_("PyKota data dumper failed : I/O error"), msg)) 143 return -1 144 return 0 135 145 136 146 def dumpCsv(self, entries) : 137 147 """Dumps datas with a comma as the separator.""" 138 self.dumpWithSeparator(",", entries)148 return self.dumpWithSeparator(",", entries) 139 149 140 150 def dumpSsv(self, entries) : 141 151 """Dumps datas with a comma as the separator.""" 142 self.dumpWithSeparator(";", entries)152 return self.dumpWithSeparator(";", entries) 143 153 144 154 def dumpTsv(self, entries) : 145 155 """Dumps datas with a comma as the separator.""" 146 self.dumpWithSeparator("\t", entries)156 return self.dumpWithSeparator("\t", entries) 147 157 148 158 if __name__ == "__main__" : -
pykota/trunk/pykota/storages/sql.py
r1718 r1719 22 22 # 23 23 # $Log$ 24 # Revision 1.47 2004/09/15 07:26:20 jalet 25 # Data dumps are now ordered by entry creation date if applicable. 26 # Now dumpykota exits with a message when there's a broken pipe like 27 # in dumpykota --data history | head -3 28 # 24 29 # Revision 1.46 2004/09/15 06:58:25 jalet 25 30 # User groups membership and printer groups membership can now be dumped too … … 81 86 def extractPrinters(self) : 82 87 """Extracts all printer records.""" 83 result = self.doRawSearch("SELECT * FROM printers ")88 result = self.doRawSearch("SELECT * FROM printers ORDER BY id ASC") 84 89 return self.prepareRawResult(result) 85 90 86 91 def extractUsers(self) : 87 92 """Extracts all user records.""" 88 result = self.doRawSearch("SELECT * FROM users ")93 result = self.doRawSearch("SELECT * FROM users ORDER BY id ASC") 89 94 return self.prepareRawResult(result) 90 95 91 96 def extractGroups(self) : 92 97 """Extracts all group records.""" 93 result = self.doRawSearch("SELECT * FROM groups ")98 result = self.doRawSearch("SELECT * FROM groups ORDER BY id ASC") 94 99 return self.prepareRawResult(result) 95 100 96 101 def extractPayments(self) : 97 102 """Extracts all payment records.""" 98 result = self.doRawSearch("SELECT username,payments.* FROM users,payments WHERE users.id=payments.userid ")103 result = self.doRawSearch("SELECT username,payments.* FROM users,payments WHERE users.id=payments.userid ORDER BY payments.id ASC") 99 104 return self.prepareRawResult(result) 100 105 101 106 def extractUpquotas(self) : 102 107 """Extracts all userpquota records.""" 103 result = self.doRawSearch("SELECT users.username,printers.printername,userpquota.* FROM users,printers,userpquota WHERE users.id=userpquota.userid AND printers.id=userpquota.printerid ")108 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") 104 109 return self.prepareRawResult(result) 105 110 106 111 def extractGpquotas(self) : 107 112 """Extracts all grouppquota records.""" 108 result = self.doRawSearch("SELECT groups.groupname,printers.printername,grouppquota.* FROM groups,printers,grouppquota WHERE groups.id=grouppquota.groupid AND printers.id=grouppquota.printerid ")113 result = self.doRawSearch("SELECT groups.groupname,printers.printername,grouppquota.* FROM groups,printers,grouppquota WHERE groups.id=grouppquota.groupid AND printers.id=grouppquota.printerid ORDER BY grouppquota.id ASC") 109 114 return self.prepareRawResult(result) 110 115 111 116 def extractUmembers(self) : 112 117 """Extracts all user groups members.""" 113 result = self.doRawSearch("SELECT groups.groupname, users.username, groupsmembers.* FROM groups,users,groupsmembers WHERE users.id=groupsmembers.userid AND groups.id=groupsmembers.groupid ")118 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") 114 119 return self.prepareRawResult(result) 115 120 116 121 def extractPmembers(self) : 117 122 """Extracts all printer groups members.""" 118 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 ")123 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") 119 124 return self.prepareRawResult(result) 120 125 121 126 def extractHistory(self) : 122 127 """Extracts all jobhistory records.""" 123 result = self.doRawSearch("SELECT users.username,printers.printername,jobhistory.* FROM users,printers,jobhistory WHERE users.id=jobhistory.userid AND printers.id=jobhistory.printerid ")128 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") 124 129 return self.prepareRawResult(result) 125 130