Skip to content

Commit a034d1b

Browse files
authored
Merge pull request #81 from sendwithus/an-88919984186-support-for-template-data
Add template_data to create_template, create_new_locale, create_new_version and update_template_version
2 parents d80db6a + 029845f commit a034d1b

File tree

5 files changed

+55
-16
lines changed

5 files changed

+55
-16
lines changed

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ api.create_template(
5959
subject='Email Subject',
6060
html='<html><head></head><body>Valid HTML</body></html>',
6161
text='Optional text content',
62-
preheader='Optional preheader'
62+
preheader='Optional preheader',
63+
template_data={'optional': 'data'}
6364
)
6465
```
6566

@@ -73,7 +74,8 @@ api.create_new_locale(
7374
subject='Email Subject',
7475
html='<html><head></head><body>Valid HTML</body></html>',
7576
text='Optional text content',
76-
preheader='Optional preheader'
77+
preheader='Optional preheader',
78+
template_data={'optional': 'data'}
7779
)
7880
```
7981

@@ -87,6 +89,7 @@ api.create_new_version(
8789
html='<html><head></head><body>Valid HTML</body></html>',
8890
text='Optional text content',
8991
preheader='Optional preheader',
92+
template_data={'optional': 'data'},
9093
locale='fr-FR'
9194
)
9295
```
@@ -101,7 +104,8 @@ api.update_template_version(
101104
subject='Email Subject',
102105
html='<html><head></head><body>Valid HTML</body></html>',
103106
text='Optional text content',
104-
preheader='Optional preheader'
107+
preheader='Optional preheader',
108+
template_data={'optional': 'data'}
105109
)
106110
```
107111

sendwithus/__init__.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ def create_template(
260260
html,
261261
text='',
262262
preheader=None,
263+
template_data=None,
263264
amp_html=None,
264265
timeout=None
265266
):
@@ -273,6 +274,8 @@ def create_template(
273274

274275
if preheader is not None:
275276
payload['preheader'] = preheader
277+
if template_data is not None:
278+
payload['template_data'] = template_data
276279
if amp_html is not None:
277280
payload['amp_html'] = amp_html
278281

@@ -292,6 +295,7 @@ def create_new_locale(
292295
text='',
293296
html='',
294297
preheader=None,
298+
template_data=None,
295299
amp_html=None,
296300
timeout=None
297301
):
@@ -308,6 +312,8 @@ def create_new_locale(
308312
payload['text'] = text
309313
if preheader is not None:
310314
payload['preheader'] = preheader
315+
if template_data is not None:
316+
payload['template_data'] = template_data
311317
if amp_html is not None:
312318
payload['amp_html'] = amp_html
313319

@@ -327,11 +333,12 @@ def create_new_version(
327333
html=None,
328334
locale=None,
329335
preheader=None,
336+
template_data=None,
330337
amp_html=None,
331338
timeout=None
332339
):
333340
""" API call to create a new version of a template """
334-
if(html):
341+
if (html):
335342
payload = {
336343
'name': name,
337344
'subject': subject,
@@ -347,6 +354,8 @@ def create_new_version(
347354

348355
if preheader is not None:
349356
payload['preheader'] = preheader
357+
if template_data is not None:
358+
payload['template_data'] = template_data
350359
if amp_html is not None:
351360
payload['amp_html'] = amp_html
352361

@@ -374,11 +383,12 @@ def update_template_version(
374383
text='',
375384
html=None,
376385
preheader=None,
386+
template_data=None,
377387
amp_html=None,
378388
timeout=None
379389
):
380390
""" API call to update a template version """
381-
if(html):
391+
if (html):
382392
payload = {
383393
'name': name,
384394
'subject': subject,
@@ -394,6 +404,8 @@ def update_template_version(
394404

395405
if preheader is not None:
396406
payload['preheader'] = preheader
407+
if template_data is not None:
408+
payload['template_data'] = template_data
397409
if amp_html is not None:
398410
payload['amp_html'] = amp_html
399411

@@ -531,24 +543,24 @@ def send(
531543
if sender:
532544
payload['sender'] = sender
533545
if cc:
534-
if not type(cc) == list:
546+
if not isinstance(cc, list):
535547
logger.error(
536548
'kwarg cc must be type(list), got %s' % type(cc))
537549
payload['cc'] = cc
538550
if bcc:
539-
if not type(bcc) == list:
551+
if not isinstance(cc, list):
540552
logger.error(
541553
'kwarg bcc must be type(list), got %s' % type(bcc))
542554
payload['bcc'] = bcc
543555

544556
if tags:
545-
if not type(tags) == list:
557+
if not isinstance(cc, list):
546558
logger.error(
547559
'kwarg tags must be type(list), got %s' % (type(tags)))
548560
payload['tags'] = tags
549561

550562
if headers:
551-
if not type(headers) == dict:
563+
if not type(headers) is dict:
552564
logger.error(
553565
'kwarg headers must be type(dict), got %s' % (
554566
type(headers)
@@ -662,19 +674,19 @@ def start_on_drip_campaign(
662674
payload['sender'] = sender
663675

664676
if cc:
665-
if not type(cc) == list:
677+
if not isinstance(cc, list):
666678
logger.error(
667679
'kwarg cc must be type(list), got %s' % type(cc))
668680
payload['cc'] = cc
669681

670682
if bcc:
671-
if not type(bcc) == list:
683+
if not isinstance(cc, list):
672684
logger.error(
673685
'kwarg bcc must be type(list), got %s' % type(bcc))
674686
payload['bcc'] = bcc
675687

676688
if tags:
677-
if not type(tags) == list:
689+
if not isinstance(cc, list):
678690
logger.error(
679691
'kwarg tags must be type(list), got %s' % (type(tags)))
680692
payload['tags'] = tags

sendwithus/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version = '5.3.0'
1+
version = '5.4.0'

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
setup(
1010
name='sendwithus',
11-
version='5.3.0',
11+
version='5.4.0',
1212
author='sendwithus',
1313
author_email='us@sendwithus.com',
1414
packages=find_packages(),

test_base.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ def test_create_new_version_success(api, email_id):
4848
'subject',
4949
text="Some stuff",
5050
template_id=email_id,
51-
preheader='test preheader'
51+
preheader='test preheader',
52+
template_data={'test': 'data'}
5253
)
5354
assert_success(result)
5455

@@ -60,7 +61,8 @@ def test_update_template_version(api, email_id, version_id):
6061
email_id,
6162
version_id,
6263
text='Some more stuff',
63-
preheader='test preheader'
64+
preheader='test preheader',
65+
template_data={'test': 'data'}
6466
)
6567
assert_success(result)
6668

@@ -587,3 +589,24 @@ def test_create_template_with_preheader(api):
587589
assert_success(result)
588590

589591
assert result.json()['preheader'] == expected
592+
593+
594+
def test_create_template_with_template_data(api):
595+
""" Test creating a template with a template data / fetching the result """
596+
expected = {'test': 'data'}
597+
result = api.create_template(
598+
'name',
599+
'subject',
600+
'<html><head></head><body></body></html>',
601+
template_data=expected)
602+
assert_success(result)
603+
604+
id = result.json()['id']
605+
result = api.get_template(id)
606+
assert_success(result)
607+
608+
version_id = result.json()['versions'][0]['id']
609+
result = api.get_template(id, version_id)
610+
assert_success(result)
611+
612+
assert result.json()['template_data'] == expected

0 commit comments

Comments
 (0)