Fix crash importing files
This commit is contained in:
parent
e23f6e2cc8
commit
85cfebe0f7
@ -175,6 +175,8 @@ class FileImporter:
|
||||
self.unimportable_files: list[FileErrors] = []
|
||||
# Files user doesn't want imported
|
||||
self.do_not_import: list[str] = []
|
||||
# Place to keep reference to importer while it runs
|
||||
self.import_thread: dict[int, QThread] = {}
|
||||
|
||||
def do_import(self) -> None:
|
||||
"""
|
||||
@ -223,7 +225,10 @@ class FileImporter:
|
||||
self.import_files_data = [
|
||||
x
|
||||
for x in self.import_files_data
|
||||
if x.import_file_path not in self.do_not_import
|
||||
if (
|
||||
x.import_file_path not in self.do_not_import
|
||||
or x.track_id != -1
|
||||
)
|
||||
]
|
||||
|
||||
# Import all that's left.
|
||||
@ -253,9 +258,9 @@ class FileImporter:
|
||||
)
|
||||
|
||||
if matching_track < 0: # User cancelled
|
||||
return
|
||||
matching_track = -1
|
||||
|
||||
if matching_track == 0:
|
||||
elif matching_track == 0:
|
||||
self.import_files_data[idx].destination_track_path = os.path.join(
|
||||
Config.IMPORT_DESTINATION,
|
||||
os.path.basename(self.import_files_data[idx].import_file_path),
|
||||
@ -277,7 +282,7 @@ class FileImporter:
|
||||
f = self.import_files_data[idx]
|
||||
|
||||
# Import in separate thread
|
||||
self.import_thread = QThread()
|
||||
self.import_thread[idx] = QThread()
|
||||
self.worker = DoTrackImport(
|
||||
import_file_path=f.import_file_path,
|
||||
tags=f.tags,
|
||||
@ -288,12 +293,12 @@ class FileImporter:
|
||||
row_number=self.row_number,
|
||||
)
|
||||
|
||||
self.worker.moveToThread(self.import_thread)
|
||||
self.import_thread.started.connect(self.worker.run)
|
||||
self.worker.import_finished.connect(self.import_thread.quit)
|
||||
self.worker.moveToThread(self.import_thread[idx])
|
||||
self.import_thread[idx].started.connect(self.worker.run)
|
||||
self.worker.import_finished.connect(self.import_thread[idx].quit)
|
||||
self.worker.import_finished.connect(self.worker.deleteLater)
|
||||
self.import_thread.finished.connect(self.import_thread.deleteLater)
|
||||
self.import_thread.start()
|
||||
self.import_thread[idx].finished.connect(self.import_thread[idx].deleteLater)
|
||||
self.import_thread[idx].start()
|
||||
|
||||
def order_by_artist(self, idx: int, track_ids_to_check: list[int]) -> list[int]:
|
||||
"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user