From fa99b176c15402efacf0d734f2031babba8f8f16 Mon Sep 17 00:00:00 2001 From: Bernd Date: Sun, 20 Jul 2025 00:11:42 +0500 Subject: [PATCH] adding a delete option for year tabs, excluding the Pre-2010 tab --- backend.py | 7 ++++++- frontend.py | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/backend.py b/backend.py index 3b142a7..6fe0866 100644 --- a/backend.py +++ b/backend.py @@ -112,4 +112,9 @@ class AnimeBackend: with open(file_name, 'w', newline='') as f: writer = csv.writer(f) writer.writerow(['id', 'name', 'year', 'season', 'status', 'type', 'comment', 'url']) - writer.writerows(rows) \ No newline at end of file + writer.writerows(rows) + + def delete_year(self, year): + cursor = self.db.cursor() + cursor.execute("DELETE FROM anime WHERE year = ?", (year,)) + self.db.commit() \ No newline at end of file diff --git a/frontend.py b/frontend.py index 3c3928b..ad29552 100644 --- a/frontend.py +++ b/frontend.py @@ -131,6 +131,9 @@ class AnimeTracker(QMainWindow): add_year_act = QAction('Add New Year', self) add_year_act.triggered.connect(self.add_new_year) edit_menu.addAction(add_year_act) + del_year_act = QAction('Delete Year', self) + del_year_act.triggered.connect(self.delete_year) + edit_menu.addAction(del_year_act) tools_menu = menubar.addMenu('Tools') random_act = QAction('Random Pick', self) random_act.triggered.connect(self.random_pick) @@ -372,6 +375,18 @@ class AnimeTracker(QMainWindow): self.backend.add_placeholders_for_year(year) self.load_tabs() + def delete_year(self): + current_year = datetime.now().year + year, ok = QInputDialog.getInt(self, "Delete Year", "Enter the year to delete:", 2010, 2010, current_year + 10) + if ok: + years = self.backend.get_years() + if year not in years: + QMessageBox.warning(self, "Error", f"Year {year} does not exist.") + return + if QMessageBox.question(self, "Confirm Delete", f"Are you sure you want to delete all entries for {year}?") == QMessageBox.Yes: + self.backend.delete_year(year) + self.load_tabs() + def random_pick(self): if self.tab_widget.currentIndex() == -1: QMessageBox.information(self, "Random Pick", "No tab selected.")