fix: rename tab export-folder helper to avoid clobbering self._export_folder

self._export_folder is an existing str attribute (stashed during export), so
the new _export_folder() method shadowed it and 'str' object is not callable
crashed on startup at _update_next_label. Renamed to _tab_export_folder().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 16:19:50 +02:00
parent 251747bb0b
commit c9915914c4
+13 -13
View File
@@ -4475,7 +4475,7 @@ class MainWindow(QMainWindow):
return "" return ""
return label return label
def _export_folder(self) -> str: def _tab_export_folder(self) -> str:
"""The export base folder, with the active tab name appended when enabled.""" """The export base folder, with the active tab name appended when enabled."""
base = self._txt_folder.text() base = self._txt_folder.text()
if getattr(self, "_chk_tab_folder", None) and self._chk_tab_folder.isChecked(): if getattr(self, "_chk_tab_folder", None) and self._chk_tab_folder.isChecked():
@@ -4485,7 +4485,7 @@ class MainWindow(QMainWindow):
return base return base
def _export_base_name(self) -> str: def _export_base_name(self) -> str:
return os.path.basename(self._export_folder()) return os.path.basename(self._tab_export_folder())
def _on_tab_folder_toggled(self, _checked: bool = False) -> None: def _on_tab_folder_toggled(self, _checked: bool = False) -> None:
if self._file_path: if self._file_path:
@@ -4996,7 +4996,7 @@ class MainWindow(QMainWindow):
# Run DB fuzzy match off the main thread — can be slow on large databases. # Run DB fuzzy match off the main thread — can be slow on large databases.
filename = os.path.basename(self._file_path) filename = os.path.basename(self._file_path)
self._db_worker = _DBWorker(self._db, filename, self._profile, self._db_worker = _DBWorker(self._db, filename, self._profile,
self._export_folder()) self._tab_export_folder())
self._db_worker.result.connect(self._on_db_result) self._db_worker.result.connect(self._on_db_result)
self._db_worker.start() self._db_worker.start()
@@ -5013,7 +5013,7 @@ class MainWindow(QMainWindow):
def _refresh_markers(self) -> None: def _refresh_markers(self) -> None:
filename = os.path.basename(self._file_path) filename = os.path.basename(self._file_path)
folder = self._export_folder() folder = self._tab_export_folder()
markers = self._db.get_markers(filename, self._profile, folder) markers = self._db.get_markers(filename, self._profile, folder)
self._timeline.set_markers(markers) self._timeline.set_markers(markers)
others = self._db.get_other_folder_markers( others = self._db.get_other_folder_markers(
@@ -5025,7 +5025,7 @@ class MainWindow(QMainWindow):
self._timeline.set_other_markers({}) self._timeline.set_other_markers({})
return return
filename = os.path.basename(self._file_path) filename = os.path.basename(self._file_path)
folder = self._export_folder() folder = self._tab_export_folder()
others = self._db.get_other_folder_markers( others = self._db.get_other_folder_markers(
filename, self._profile, folder) filename, self._profile, folder)
self._timeline.set_other_markers(others) self._timeline.set_other_markers(others)
@@ -5065,7 +5065,7 @@ class MainWindow(QMainWindow):
if not deleted: if not deleted:
self._db.delete_by_output_path(output_path) self._db.delete_by_output_path(output_path)
deleted = [output_path] deleted = [output_path]
folder = self._export_folder() folder = self._tab_export_folder()
for path in deleted: for path in deleted:
if os.path.isdir(path): if os.path.isdir(path):
shutil.rmtree(path, ignore_errors=True) shutil.rmtree(path, ignore_errors=True)
@@ -5095,7 +5095,7 @@ class MainWindow(QMainWindow):
return return
filename = os.path.basename(self._file_path) filename = os.path.basename(self._file_path)
markers = self._db.get_markers(filename, self._profile) markers = self._db.get_markers(filename, self._profile)
folder = self._export_folder() folder = self._tab_export_folder()
total_files = 0 total_files = 0
for _, _, output_path, _ in markers: for _, _, output_path, _ in markers:
group = self._db.delete_group(output_path) group = self._db.delete_group(output_path)
@@ -5235,7 +5235,7 @@ class MainWindow(QMainWindow):
if reply != QMessageBox.StandardButton.Yes: if reply != QMessageBox.StandardButton.Yes:
return return
# Delete all group clips from disk # Delete all group clips from disk
folder = self._export_folder() folder = self._tab_export_folder()
for path in all_paths: for path in all_paths:
if os.path.isdir(path): if os.path.isdir(path):
shutil.rmtree(path, ignore_errors=True) shutil.rmtree(path, ignore_errors=True)
@@ -6007,7 +6007,7 @@ class MainWindow(QMainWindow):
) )
if reply != QMessageBox.StandardButton.Yes: if reply != QMessageBox.StandardButton.Yes:
return return
folder = self._export_folder() or "" folder = self._tab_export_folder() or ""
vid_dirs: set[str] = set() vid_dirs: set[str] = set()
for p in all_paths: for p in all_paths:
if os.path.isdir(p): if os.path.isdir(p):
@@ -6430,7 +6430,7 @@ class MainWindow(QMainWindow):
self._btn_auto_export.setEnabled(True) self._btn_auto_export.setEnabled(True)
return return
folder = self._export_folder() folder = self._tab_export_folder()
name = self._txt_name.text() or "clip" name = self._txt_name.text() or "clip"
fmt = self._cmb_format.currentText() fmt = self._cmb_format.currentText()
image_sequence = fmt == "WebP sequence" image_sequence = fmt == "WebP sequence"
@@ -6646,7 +6646,7 @@ class MainWindow(QMainWindow):
) )
def _update_next_label(self): def _update_next_label(self):
folder = self._export_folder() folder = self._tab_export_folder()
name = self._txt_name.text() or "clip" name = self._txt_name.text() or "clip"
vid_name = self._get_vid_folder(folder) vid_name = self._get_vid_folder(folder)
vid_folder = os.path.join(folder, vid_name) vid_folder = os.path.join(folder, vid_name)
@@ -6686,7 +6686,7 @@ class MainWindow(QMainWindow):
fmt = self._cmb_format.currentText() fmt = self._cmb_format.currentText()
image_sequence = fmt == "WebP sequence" image_sequence = fmt == "WebP sequence"
folder = self._export_folder() folder = self._tab_export_folder()
if folder_suffix: if folder_suffix:
folder = folder.rstrip(os.sep) + "_" + folder_suffix folder = folder.rstrip(os.sep) + "_" + folder_suffix
os.makedirs(folder, exist_ok=True) os.makedirs(folder, exist_ok=True)
@@ -6952,7 +6952,7 @@ class MainWindow(QMainWindow):
if not groups: if not groups:
self._show_status("No manual exports to re-export") self._show_status("No manual exports to re-export")
return return
folder = self._export_folder() folder = self._tab_export_folder()
spread = self._spn_spread.value() spread = self._spn_spread.value()
clip_dur = self._clip_dur clip_dur = self._clip_dur