From 8855fb123c9c7aad1f4a640b3eaf3301288ad3ef Mon Sep 17 00:00:00 2001 From: Richard Nias <7244202+richardnias@users.noreply.github.com> Date: Fri, 8 Jun 2018 14:32:04 +0100 Subject: [PATCH 1/2] Fix `Personalization.substitutions` setter Trying to set `substitutions` directly rather than with `add_substitution` was causing an infinite regress --- sendgrid/helpers/mail/personalization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sendgrid/helpers/mail/personalization.py b/sendgrid/helpers/mail/personalization.py index e49432cf5..8bb4bed0b 100644 --- a/sendgrid/helpers/mail/personalization.py +++ b/sendgrid/helpers/mail/personalization.py @@ -116,7 +116,7 @@ def substitutions(self): @substitutions.setter def substitutions(self, value): - self.substitutions = value + self._substitutions = value def add_substitution(self, substitution): """Add a new Substitution to this Personalization. From 2125d367e137e5ad4474e7774aebebcc7c2729de Mon Sep 17 00:00:00 2001 From: Richard Nias Date: Fri, 8 Jun 2018 14:45:37 +0100 Subject: [PATCH 2/2] add test_directly_setting_substitutions --- test/test_mail.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/test_mail.py b/test/test_mail.py index 86f21c069..7721b5205 100644 --- a/test/test_mail.py +++ b/test/test_mail.py @@ -558,3 +558,7 @@ def test_disable_tracking(self): tracking_settings.get(), {'click_tracking': {'enable': False, 'enable_text': False}} ) + + def test_directly_setting_substitutions(self): + personalization = Personalization() + personalization.substitutions = [{'a': 0}]