@@ -55,33 +55,30 @@ def update_model(self, filter=None, clear=True):
55
55
self .model .setHorizontalHeaderLabels (["" , "" , _ ("Name" ), _ ("Email" ), _ ("Website" )])
56
56
57
57
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 )
67
59
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 )
74
64
75
- if len (data [ "name" ] ) < 2 :
65
+ if len (person . get ( "name" , "" ) ) < 2 :
76
66
# Skip blank names
77
67
continue
78
68
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
+
79
76
row = []
80
77
flags = Qt .ItemIsSelectable | Qt .ItemIsEnabled
81
78
82
79
# Append type icon (PayPal, Kickstarter, Bitcoin, or Patreon)
83
80
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" , "" ) ]:
85
82
(tooltip , icon ) = self .icon_mapping .get (contrib , (None , None ))
86
83
item .setIcon (icon )
87
84
item .setToolTip (tooltip )
@@ -90,14 +87,14 @@ def update_model(self, filter=None, clear=True):
90
87
91
88
# Append Star icon (Multiple donations, big donations, five-timer kickstarter group, etc...)
92
89
item = QStandardItem ()
93
- if "s" in data [ "icons" ] :
90
+ if "s" in person . get ( "icons" , "" ) :
94
91
item .setIcon (QIcon (":/about/star-icon.png" ))
95
92
item .setToolTip (_ ("Multiple Contributions!" ))
96
93
item .setFlags (flags )
97
94
row .append (item )
98
95
99
96
for field in ["name" , "email" , "website" ]:
100
- item = QStandardItem (data [ field ] )
97
+ item = QStandardItem (person . get ( field , "" ) )
101
98
item .setFlags (flags )
102
99
row .append (item )
103
100
0 commit comments