def search(self, user_search):
"""
Perform a search with the current search entry
"""
# we need the main context to call methods in the main thread after the search is finished
main_context = GLib.MainContext.default()
books = db.search_books(user_search)
if self.search_thread_stop.is_set():
return
main_context.invoke_full(
GLib.PRIORITY_DEFAULT, self.__on_book_search_finished, books)
authors = db.search_authors(user_search)
if self.search_thread_stop.is_set():
return
main_context.invoke_full(
GLib.PRIORITY_DEFAULT, self.__on_author_search_finished, authors)
readers = db.search_readers(user_search)
if self.search_thread_stop.is_set():
return
main_context.invoke_full(
GLib.PRIORITY_DEFAULT, self.__on_reader_search_finished, readers)
if readers.count() < 1 and authors.count() < 1 and books.count() < 1:
main_context.invoke_full(
GLib.PRIORITY_DEFAULT, self.search_stack.set_visible_child_name, "nothing")
评论列表
文章目录