refresh table when updated

This commit is contained in:
Thomas Peetz
2025-01-05 21:47:27 +01:00
parent 04dfe483e4
commit bdf2b2ba43
7 changed files with 50 additions and 13 deletions
+30 -6
View File
@@ -11,7 +11,6 @@ class MediaFileTableModel(QAbstractTableModel):
super().__init__()
self.main_window = main_window
self._data = []
self.status_bar = main_window.statusBar
self.mariadb_conn = mariadb.connect(
host=db_config['mariadb']['host'],
port=db_config['mariadb']['port'],
@@ -24,12 +23,37 @@ class MediaFileTableModel(QAbstractTableModel):
def refresh(self):
data = []
cursor = self.mariadb_conn.cursor()
cursor.execute("SELECT id, url, review, should_download, file_name, cloud_link FROM media_file")
filter_rule = ""
print(self.main_window.filter["download"].isChecked())
if self.main_window.filter["download"].isChecked():
print(self.main_window.filter["download"].isChecked())
filter_rule = "WHERE should_download is true"
if self.main_window.filter["review"].isChecked():
if len(filter_rule) > 0:
filter_rule += " AND "
else:
filter_rule += "WHERE "
filter_rule += "review is true"
print(f"{filter_rule=}")
try:
cursor.execute(f"SELECT id, url, review, should_download, file_name, cloud_link FROM media_file {filter_rule}")
except mariadb.Error as error:
print(error)
rows = cursor.fetchall()
for row in rows:
data.append(list(row))
self.status_bar.showMessage(f"{len(rows)} Einträge geladen", 3000)
self._data = data
print(len(rows))
if len(rows) > 0:
self.beginResetModel()
for row in rows:
data.append(list(row))
self._data = data
self.endResetModel()
else:
self._data = None
try:
self.layoutChanged.emit()
except:
self.main_window.statusBar.showMessage(f"{len(rows)} Einträge geladen", 3000)
def rowCount(self, parent=QModelIndex()):
# The length of the outer list.