fix errors when displaying empty table

This commit is contained in:
Thomas Peetz
2025-01-05 23:44:29 +01:00
parent c8ea7c4188
commit ce1514f20a
+8 -8
View File
@@ -35,10 +35,7 @@ class MediaFileTableModel(QAbstractTableModel):
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)
cursor.execute(f"SELECT id, url, review, should_download, file_name, cloud_link FROM media_file {filter_rule}")
rows = cursor.fetchall()
print(len(rows))
if len(rows) > 0:
@@ -49,14 +46,13 @@ class MediaFileTableModel(QAbstractTableModel):
self.endResetModel()
else:
self._data = None
try:
self.layoutChanged.emit()
except:
self.layoutChanged.emit()
self.main_window.statusBar.showMessage(f"{len(rows)} Einträge geladen", 3000)
def rowCount(self, parent=QModelIndex()):
# The length of the outer list.
if self._data is None:
return 0
return len(self._data)
def headerData(self, col, orientation, role=Qt.ItemDataRole.DisplayRole):
@@ -78,6 +74,8 @@ class MediaFileTableModel(QAbstractTableModel):
return str(col+1)
def data(self, index, role=Qt.ItemDataRole.DisplayRole):
if self._data is None:
return None
value = self._data[index.row()][index.column()]
if role == Qt.ItemDataRole.DisplayRole:
if isinstance(value, datetime):
@@ -101,6 +99,8 @@ class MediaFileTableModel(QAbstractTableModel):
def columnCount(self, index=QModelIndex()):
# The following takes the first sub-list, and returns
# the length (only works if all rows are an equal length)
if self._data is None:
return 5
return len(self._data[0])
def setData(self, index, value, role=Qt.ItemDataRole.EditRole):