books restored from trash, but there's an error when everything is restored

This commit is contained in:
John Ladan 2012-03-30 20:41:00 -04:00
parent 12f3892dc7
commit 124e2f14c7
2 changed files with 31 additions and 2 deletions

View File

@ -248,6 +248,13 @@ class trashBrowser(browserWindow):
bf.eventLoop()
bf.clear()
def restoreSelected(self):
books = []
for sel,book in zip(self.selected, self.entries):
if sel:
books.append(book)
db.restoreBooks(books)
def delSelected(self):
books = []
for sel,book in zip(self.selected, self.entries):
@ -265,7 +272,17 @@ class trashBrowser(browserWindow):
book = self.entries[self.hl]
self.viewSelection(book)
self.refresh()
if ch==100:
if ch==114: #restore books
count=0
for s in self.selected[0:self.hl-1]:
if s:
count+=1
self.restoreSelected()
self.refreshBooks()
self.refresh()
self.scroll(-count)
self.mvHighlight(-count)
if ch==100: # delete books
count=0
for s in self.selected[0:self.hl-1]:
if s:

View File

@ -126,7 +126,7 @@ def getBooks():
def getBooksByCategory(cat):
conn = sqlite3.connect(dbFile)
c = conn.cursor()
query = "SELECT "+",".join(columns)+" FROM "+bookTable+" JOIN "+bookCategoryTable+" USING (id) WHERE cat_id = :id;"
query = "SELECT "+",".join(mapt(colify,columns))+" FROM "+bookTable+" JOIN "+bookCategoryTable+" USING (id) WHERE cat_id = :id;"
c.execute(query,cat)
books = []
for b in c:
@ -195,6 +195,18 @@ def removeBooks(books):
conn.commit()
c.close()
# restores trashed books
def restoreBooks(books):
conn = sqlite3.connect(dbFile)
c = conn.cursor()
query1 = "INSERT INTO "+bookTable+" ("+",".join(map(colify,columns[1:]))+") SELECT "+",".join(map(colify,columns[1:]))+" FROM "+bookRemovedTable+" WHERE id = :id;"
query2 = "DELETE FROM " +bookRemovedTable+ " WHERE id = :id;"
for book in books:
c.execute(query1,book)
c.execute(query2,book)
conn.commit()
c.close()
# fully deletes book from removedBooks table
def deleteBook(bookid):
conn = sqlite3.connect(dbFile)