def start_library_scan(self): # TODO # return in case the treeView is not edited self.hide() data_pairs = [] for i in self.filesystem_model.tag_data.items(): data_pairs.append( [i[0], i[1]['name'], i[1]['tags'], i[1]['check_state']]) database.DatabaseFunctions( self.database_path).set_library_paths(data_pairs) if not data_pairs: try: if self.sender().objectName() == 'reloadLibrary': self.show() except AttributeError: pass self.parent.lib_ref.view_model.clear() self.parent.lib_ref.table_rows = [] # TODO # Change this to no longer include files added manually database.DatabaseFunctions( self.database_path).delete_from_database('*', '*') return # Update the main window library filter menu self.parent.generate_library_filter_menu(data_pairs) self.parent.set_library_filter() # Disallow rechecking until the first check completes self.okButton.setEnabled(False) self.parent.reloadLibrary.setEnabled(False) self.okButton.setToolTip( self._translate('SettingsUI', 'Library scan in progress...')) # Traverse directories looking for files self.parent.statusMessage.setText( self._translate('SettingsUI', 'Checking library folders')) self.thread = BackGroundBookSearch(data_pairs, self) self.thread.finished.connect(self.finished_iterating) self.thread.start()
def start_library_scan(self): self.hide() data_pairs = [] for i in self.filesystemModel.tag_data.items(): data_pairs.append( [i[0], i[1]['name'], i[1]['tags'], i[1]['check_state']]) database.DatabaseFunctions( self.database_path).set_library_paths(data_pairs) if not data_pairs: logger.error('Can\'t scan - No book paths saved') try: if self.sender().objectName() == 'reloadLibrary': self.show() treeViewIndex = self.listModel.index(0, 0) self.listView.setCurrentIndex(treeViewIndex) return except AttributeError: pass database.DatabaseFunctions( self.database_path).delete_from_database('*', '*') self.main_window.lib_ref.generate_model('build') self.main_window.lib_ref.generate_proxymodels() self.main_window.generate_library_filter_menu() return # Update the main window library filter menu self.main_window.generate_library_filter_menu(data_pairs) self.main_window.set_library_filter() # Disallow rechecking until the first check completes self.okButton.setEnabled(False) self.main_window.libraryToolBar.reloadLibraryButton.setEnabled(False) self.okButton.setToolTip( self._translate('SettingsUI', 'Library scan in progress...')) # Traverse directories looking for files self.main_window.statusMessage.setText( self._translate('SettingsUI', 'Checking library folders')) self.thread = BackGroundBookSearch(data_pairs) self.thread.finished.connect(self.finished_iterating) self.thread.start()