Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/sendgrid/helpers/mail/ganalytics.py: 41%
63 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1class Ganalytics(object):
2 """Allows you to enable tracking provided by Google Analytics."""
4 def __init__(self,
5 enable=None,
6 utm_source=None,
7 utm_medium=None,
8 utm_term=None,
9 utm_content=None,
10 utm_campaign=None):
11 """Create a GAnalytics to enable, customize Google Analytics tracking.
13 :param enable: If this setting is enabled.
14 :type enable: boolean, optional
15 :param utm_source: Name of the referrer source.
16 :type utm_source: string, optional
17 :param utm_medium: Name of the marketing medium (e.g. "Email").
18 :type utm_medium: string, optional
19 :param utm_term: Used to identify paid keywords.
20 :type utm_term: string, optional
21 :param utm_content: Used to differentiate your campaign from ads.
22 :type utm_content: string, optional
23 :param utm_campaign: The name of the campaign.
24 :type utm_campaign: string, optional
25 """
26 self._enable = None
27 self._utm_source = None
28 self._utm_medium = None
29 self._utm_term = None
30 self._utm_content = None
31 self._utm_campaign = None
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)
40 def __set_field(self, field, value):
41 """ Sets a field to the provided value if value is not None
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)
51 @property
52 def enable(self):
53 """Indicates if this setting is enabled.
55 :rtype: boolean
56 """
57 return self._enable
59 @enable.setter
60 def enable(self, value):
61 """Indicates if this setting is enabled.
63 :param value: Indicates if this setting is enabled.
64 :type value: boolean
65 """
66 self._enable = value
68 @property
69 def utm_source(self):
70 """Name of the referrer source.
71 e.g. Google, SomeDomain.com, or Marketing Email
73 :rtype: string
74 """
75 return self._utm_source
77 @utm_source.setter
78 def utm_source(self, value):
79 """Name of the referrer source.
80 e.g. Google, SomeDomain.com, or Marketing Email
82 :param value: Name of the referrer source.
83 e.g. Google, SomeDomain.com, or Marketing Email
84 :type value: string
85 """
86 self._utm_source = value
88 @property
89 def utm_medium(self):
90 """Name of the marketing medium (e.g. Email).
92 :rtype: string
93 """
94 return self._utm_medium
96 @utm_medium.setter
97 def utm_medium(self, value):
98 """Name of the marketing medium (e.g. Email).
100 :param value: Name of the marketing medium (e.g. Email).
101 :type value: string
102 """
103 self._utm_medium = value
105 @property
106 def utm_term(self):
107 """Used to identify any paid keywords.
109 :rtype: string
110 """
111 return self._utm_term
113 @utm_term.setter
114 def utm_term(self, value):
115 """Used to identify any paid keywords.
117 :param value: Used to identify any paid keywords.
118 :type value: string
119 """
120 self._utm_term = value
122 @property
123 def utm_content(self):
124 """Used to differentiate your campaign from advertisements.
126 :rtype: string
127 """
128 return self._utm_content
130 @utm_content.setter
131 def utm_content(self, value):
132 """Used to differentiate your campaign from advertisements.
134 :param value: Used to differentiate your campaign from advertisements.
135 :type value: string
136 """
137 self._utm_content = value
139 @property
140 def utm_campaign(self):
141 """The name of the campaign.
143 :rtype: string
144 """
145 return self._utm_campaign
147 @utm_campaign.setter
148 def utm_campaign(self, value):
149 """The name of the campaign.
151 :param value: The name of the campaign.
152 :type value: string
153 """
154 self._utm_campaign = value
156 def get(self):
157 """
158 Get a JSON-ready representation of this Ganalytics.
160 :returns: This Ganalytics, ready for use in a request body.
161 :rtype: dict
162 """
163 keys = ["enable", "utm_source", "utm_medium", "utm_term",
164 "utm_content", "utm_campaign"]
166 ganalytics = {}
168 for key in keys:
169 value = getattr(self, key, None)
170 if value is not None:
171 if isinstance(value, bool) or isinstance(value, str):
172 ganalytics[key] = value
173 else:
174 ganalytics[key] = value.get()
176 return ganalytics