Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions website_scraper.py
Original file line number Diff line number Diff line change
Expand Up @@ -2286,6 +2286,13 @@ def _build_ui(self):
fg_color="transparent", border_width=1,
text_color=("gray10", "gray90"),
)
# Verwirft den gespeicherten Wiederaufnahme-Stand (_queue.json) des Ordners.
self._discard_btn = ctk.CTkButton(
btn_row, text="🗑 Verwerfen", command=self._discard_queue,
width=120, height=38,
fg_color="transparent", border_width=1,
text_color=("gray10", "gray90"),
)
r += 1

# Fortschritts-Karte
Expand Down Expand Up @@ -2393,12 +2400,14 @@ def _mode_changed(self):
self._sep.grid()
self._sitemap_sub.grid()
self._queue_btn.pack(side="left", padx=(8, 0))
self._discard_btn.pack(side="left", padx=(8, 0))
else:
self._out_label.configure(text="Ausgabedatei")
self._open_btn.configure(text="📄 Öffnen")
self._sep.grid_remove()
self._sitemap_sub.grid_remove()
self._queue_btn.pack_forget()
self._discard_btn.pack_forget()
# Zuletzt genutzten Pfad pro Modus wiederherstellen (statt leeren),
# damit eine Wiederaufnahme im selben Ordner zuverlässig greift.
self._out_var.set(load_settings().get(f"last_output_{mode}", ""))
Expand Down Expand Up @@ -2450,6 +2459,29 @@ def _open_queue(self):
return
self._open_or_reveal(str(qp))

def _discard_queue(self):
if self._running:
_showmsg(self, "Hinweis",
"Während eines laufenden Vorgangs nicht möglich.")
return
out = self._out_var.get().strip()
if not out:
_showmsg(self, "Hinweis", "Kein Ausgabeordner angegeben.")
return
qp = _queue_path(out)
if not qp.exists():
_showmsg(self, "Hinweis", "Keine offene Liste vorhanden.")
return
if _askyn(
self, "Lauf verwerfen",
"Den gespeicherten Wiederaufnahme-Stand für diesen Ordner verwerfen?\n\n"
"Bereits erzeugte Dateien bleiben erhalten – nur die Restliste "
"(_queue.json) wird gelöscht.",
):
_delete_queue(out)
self._log_ui("Wiederaufnahme-Stand verworfen.")
_showmsg(self, "Verworfen", "Die offene Liste wurde gelöscht.")

def _open_settings(self):
SettingsDialog(self)

Expand Down
Loading