From 5fc5f986361ac66baa2fcdc9f711a73ad7b99837 Mon Sep 17 00:00:00 2001 From: BasioMeusPuga Date: Sat, 25 Nov 2017 03:24:24 +0530 Subject: [PATCH] New module for threaded functions --- __main__.py | 4 ++-- threaded.py | 39 +++++++++++++++++++++++++++++++++++++++ widgets.py | 34 ---------------------------------- 3 files changed, 41 insertions(+), 36 deletions(-) create mode 100644 threaded.py diff --git a/__main__.py b/__main__.py index 4646b83..0e50325 100755 --- a/__main__.py +++ b/__main__.py @@ -71,8 +71,8 @@ import sorter import database from resources import mainwindow -from widgets import LibraryToolBar, BookToolBar, Tab -from widgets import LibraryDelegate, BackGroundTabUpdate, BackGroundBookAddition +from widgets import LibraryToolBar, BookToolBar, Tab, LibraryDelegate +from threaded import BackGroundTabUpdate, BackGroundBookAddition from library import Library from settings import Settings diff --git a/threaded.py b/threaded.py new file mode 100644 index 0000000..4309b13 --- /dev/null +++ b/threaded.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 + +import sorter +import database + +from PyQt5 import QtCore + +class BackGroundTabUpdate(QtCore.QThread): + def __init__(self, database_path, all_metadata, parent=None): + super(BackGroundTabUpdate, self).__init__(parent) + self.database_path = database_path + self.all_metadata = all_metadata + + def run(self): + hash_position_pairs = [] + for i in self.all_metadata: + file_hash = i['hash'] + position = i['position'] + hash_position_pairs.append([file_hash, position]) + + database.DatabaseFunctions( + self.database_path).modify_position(hash_position_pairs) + + +class BackGroundBookAddition(QtCore.QThread): + def __init__(self, parent_window, file_list, database_path, parent=None): + super(BackGroundBookAddition, self).__init__(parent) + self.parent_window = parent_window + self.file_list = file_list + self.database_path = database_path + + def run(self): + books = sorter.BookSorter( + self.file_list, + 'addition', + self.database_path) + parsed_books = books.initiate_threads() + database.DatabaseFunctions(self.database_path).add_to_database(parsed_books) + self.parent_window.lib_ref.generate_model('addition', parsed_books) \ No newline at end of file diff --git a/widgets.py b/widgets.py index a276cde..6a438ad 100644 --- a/widgets.py +++ b/widgets.py @@ -707,37 +707,3 @@ class MyAbsModel(QtGui.QStandardItemModel, QtCore.QAbstractItemModel): def __init__(self, parent=None): # We're using this to be able to access the match() method super(MyAbsModel, self).__init__(parent) - - -class BackGroundTabUpdate(QtCore.QThread): - def __init__(self, database_path, all_metadata, parent=None): - super(BackGroundTabUpdate, self).__init__(parent) - self.database_path = database_path - self.all_metadata = all_metadata - - def run(self): - hash_position_pairs = [] - for i in self.all_metadata: - file_hash = i['hash'] - position = i['position'] - hash_position_pairs.append([file_hash, position]) - - database.DatabaseFunctions( - self.database_path).modify_position(hash_position_pairs) - - -class BackGroundBookAddition(QtCore.QThread): - def __init__(self, parent_window, file_list, database_path, parent=None): - super(BackGroundBookAddition, self).__init__(parent) - self.parent_window = parent_window - self.file_list = file_list - self.database_path = database_path - - def run(self): - books = sorter.BookSorter( - self.file_list, - 'addition', - self.database_path) - parsed_books = books.initiate_threads() - database.DatabaseFunctions(self.database_path).add_to_database(parsed_books) - self.parent_window.lib_ref.generate_model('addition', parsed_books)