Skip to content

Commit 9722583

Browse files
committed
Credits: Fix data model
1 parent 2d5e75a commit 9722583

File tree

1 file changed

+16
-19
lines changed

1 file changed

+16
-19
lines changed

src/windows/models/credits_model.py

+16-19
Original file line numberDiff line numberDiff line change
@@ -55,33 +55,30 @@ def update_model(self, filter=None, clear=True):
5555
self.model.setHorizontalHeaderLabels(["", "", _("Name"), _("Email"), _("Website")])
5656

5757
for person in self.credits_list:
58-
# Get details of person
59-
data = defaultdict(str)
60-
data.update({
61-
"name": person.get("name"),
62-
"email": person.get("email"),
63-
"website": person.get("website"),
64-
"amount": person.get("amount", 0.0),
65-
"icons": person.get("icons"),
66-
})
58+
log.debug("Processing details for %s", person)
6759

68-
if filter and not (
69-
filter.lower() in data["name"].lower()
70-
or filter.lower() in data["email"].lower()
71-
or filter.lower() in data["website"].lower()
72-
):
73-
continue
60+
# Remove any person string keys that explicitly contain a value of None
61+
for field in ["name", "email", "website"]:
62+
if field in person and person.get(field) is None:
63+
person.pop(field)
7464

75-
if len(data["name"]) < 2:
65+
if len(person.get("name", "")) < 2:
7666
# Skip blank names
7767
continue
7868

69+
if filter and not (
70+
filter.lower() in person.get("name", "").lower()
71+
or filter.lower() in person.get("email", "").lower()
72+
or filter.lower() in person.get("website", "").lower()
73+
):
74+
continue
75+
7976
row = []
8077
flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled
8178

8279
# Append type icon (PayPal, Kickstarter, Bitcoin, or Patreon)
8380
item = QStandardItem()
84-
for contrib in [n for n in self.icon_mapping if n in data["icons"]]:
81+
for contrib in [n for n in self.icon_mapping if n in person.get("icons", "")]:
8582
(tooltip, icon) = self.icon_mapping.get(contrib, (None, None))
8683
item.setIcon(icon)
8784
item.setToolTip(tooltip)
@@ -90,14 +87,14 @@ def update_model(self, filter=None, clear=True):
9087

9188
# Append Star icon (Multiple donations, big donations, five-timer kickstarter group, etc...)
9289
item = QStandardItem()
93-
if "s" in data["icons"]:
90+
if "s" in person.get("icons", ""):
9491
item.setIcon(QIcon(":/about/star-icon.png"))
9592
item.setToolTip(_("Multiple Contributions!"))
9693
item.setFlags(flags)
9794
row.append(item)
9895

9996
for field in ["name", "email", "website"]:
100-
item = QStandardItem(data[field])
97+
item = QStandardItem(person.get(field, ""))
10198
item.setFlags(flags)
10299
row.append(item)
103100

0 commit comments

Comments
 (0)