books restored from trash, but there's an error when everything is restored
This commit is contained in:
parent
12f3892dc7
commit
124e2f14c7
19
browser.py
19
browser.py
|
@ -248,6 +248,13 @@ class trashBrowser(browserWindow):
|
||||||
bf.eventLoop()
|
bf.eventLoop()
|
||||||
bf.clear()
|
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):
|
def delSelected(self):
|
||||||
books = []
|
books = []
|
||||||
for sel,book in zip(self.selected, self.entries):
|
for sel,book in zip(self.selected, self.entries):
|
||||||
|
@ -265,7 +272,17 @@ class trashBrowser(browserWindow):
|
||||||
book = self.entries[self.hl]
|
book = self.entries[self.hl]
|
||||||
self.viewSelection(book)
|
self.viewSelection(book)
|
||||||
self.refresh()
|
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
|
count=0
|
||||||
for s in self.selected[0:self.hl-1]:
|
for s in self.selected[0:self.hl-1]:
|
||||||
if s:
|
if s:
|
||||||
|
|
14
dbLayer.py
14
dbLayer.py
|
@ -126,7 +126,7 @@ def getBooks():
|
||||||
def getBooksByCategory(cat):
|
def getBooksByCategory(cat):
|
||||||
conn = sqlite3.connect(dbFile)
|
conn = sqlite3.connect(dbFile)
|
||||||
c = conn.cursor()
|
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)
|
c.execute(query,cat)
|
||||||
books = []
|
books = []
|
||||||
for b in c:
|
for b in c:
|
||||||
|
@ -195,6 +195,18 @@ def removeBooks(books):
|
||||||
conn.commit()
|
conn.commit()
|
||||||
c.close()
|
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
|
# fully deletes book from removedBooks table
|
||||||
def deleteBook(bookid):
|
def deleteBook(bookid):
|
||||||
conn = sqlite3.connect(dbFile)
|
conn = sqlite3.connect(dbFile)
|
||||||
|
|
Loading…
Reference in New Issue