Skip to content

Commit 30d93b9

Browse files
committed
Fix method_complexity issue in sendgrid/helpers/mail/ganalytics.py #498
1 parent 7c5bf33 commit 30d93b9

1 file changed

Lines changed: 26 additions & 24 deletions

File tree

sendgrid/helpers/mail/ganalytics.py

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,23 @@ def __init__(self,
3030
self._utm_content = None
3131
self._utm_campaign = None
3232

33-
if enable is not None:
34-
self.enable = enable
35-
if utm_source is not None:
36-
self.utm_source = utm_source
37-
if utm_medium is not None:
38-
self.utm_medium = utm_medium
39-
if utm_term is not None:
40-
self.utm_term = utm_term
41-
if utm_content is not None:
42-
self.utm_content = utm_content
43-
if utm_campaign is not None:
44-
self.utm_campaign = utm_campaign
33+
self.__set_field("enable", enable)
34+
self.__set_field("utm_source", utm_source)
35+
self.__set_field("utm_medium", utm_medium)
36+
self.__set_field("utm_term", utm_term)
37+
self.__set_field("utm_content", utm_content)
38+
self.__set_field("utm_campaign", utm_campaign)
39+
40+
def __set_field(self, field, value):
41+
""" Sets a field to the provided value if value is not None
42+
43+
:param field: Name of the field
44+
:type field: String
45+
:param value: value to be set, ignored if None
46+
:type value: Any
47+
"""
48+
if value is not None:
49+
setattr(self, field, value)
4550

4651
@property
4752
def enable(self):
@@ -123,17 +128,14 @@ def get(self):
123128
:returns: This Ganalytics, ready for use in a request body.
124129
:rtype: dict
125130
"""
131+
keys = ["enable", "utm_source", "utm_medium", "utm_term",
132+
"utm_content", "utm_campaign"]
133+
126134
ganalytics = {}
127-
if self.enable is not None:
128-
ganalytics["enable"] = self.enable
129-
if self.utm_source is not None:
130-
ganalytics["utm_source"] = self.utm_source
131-
if self.utm_medium is not None:
132-
ganalytics["utm_medium"] = self.utm_medium
133-
if self.utm_term is not None:
134-
ganalytics["utm_term"] = self.utm_term
135-
if self.utm_content is not None:
136-
ganalytics["utm_content"] = self.utm_content
137-
if self.utm_campaign is not None:
138-
ganalytics["utm_campaign"] = self.utm_campaign
135+
136+
for key in keys:
137+
value = getattr(self, key, None)
138+
if value is not None:
139+
ganalytics[key] = value
140+
139141
return ganalytics

0 commit comments

Comments
 (0)