Skip to content

Commit

Permalink
Support for TemplateAlias. Closes #150
Browse files Browse the repository at this point in the history
  • Loading branch information
Stranger6667 committed Jun 12, 2018
1 parent 3534074 commit 22861be
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 13 deletions.
6 changes: 6 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ Changelog
`Unreleased`_
-------------

Added
~~~~~

- Support for `TemplateAlias`. `#150`_

Fixed
~~~~~

Expand Down Expand Up @@ -326,6 +331,7 @@ Fixed
.. _0.2.0: https://github.com/Stranger6667/postmarker/compare/0.1.1...0.2.0
.. _0.1.1: https://github.com/Stranger6667/postmarker/compare/0.1.0...0.1.1

.. _#150: https://github.com/Stranger6667/postmarker/issues/150
.. _#148: https://github.com/Stranger6667/postmarker/issues/148
.. _#145: https://github.com/Stranger6667/postmarker/issues/145
.. _#135: https://github.com/Stranger6667/postmarker/issues/135
Expand Down
25 changes: 14 additions & 11 deletions postmarker/models/emails.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,12 +335,13 @@ def send(self, message=None, From=None, To=None, Cc=None, Bcc=None, Subject=None
raise TypeError('message should be either Email or MIMEText or MIMEMultipart instance')
return message.send()

def send_with_template(self, TemplateId, TemplateModel, From, To, Cc=None, Bcc=None, Subject=None, Tag=None,
ReplyTo=None, Headers=None, TrackOpens=None, TrackLinks='None', Attachments=None,
InlineCss=True):
return self.EmailTemplate(TemplateId=TemplateId, TemplateModel=TemplateModel, From=From, To=To, Cc=Cc, Bcc=Bcc,
Subject=Subject, Tag=Tag, ReplyTo=ReplyTo, Headers=Headers, TrackOpens=TrackOpens,
TrackLinks=TrackLinks, Attachments=Attachments, InlineCss=InlineCss).send()
def send_with_template(self, TemplateId, TemplateModel, From, To, TemplateAlias=None, Cc=None, Bcc=None,
Subject=None, Tag=None, ReplyTo=None, Headers=None, TrackOpens=None, TrackLinks='None',
Attachments=None, InlineCss=True):
return self.EmailTemplate(TemplateId=TemplateId, TemplateAlias=TemplateAlias, TemplateModel=TemplateModel,
From=From, To=To, Cc=Cc, Bcc=Bcc, Subject=Subject, Tag=Tag, ReplyTo=ReplyTo,
Headers=Headers, TrackOpens=TrackOpens, TrackLinks=TrackLinks,
Attachments=Attachments, InlineCss=InlineCss).send()

def send_batch(self, *emails, **extra):
"""
Expand All @@ -364,16 +365,18 @@ def Email(self, From, To, Cc=None, Bcc=None, Subject=None, Tag=None, HtmlBody=No
TextBody=TextBody, ReplyTo=ReplyTo, Headers=Headers, TrackOpens=TrackOpens, TrackLinks=TrackLinks,
Attachments=Attachments)

def EmailTemplate(self, TemplateId, TemplateModel, From, To, Cc=None, Bcc=None, Subject=None, Tag=None,
ReplyTo=None, Headers=None, TrackOpens=None, TrackLinks='None', Attachments=None, InlineCss=True):
def EmailTemplate(self, TemplateId, TemplateModel, From, To, TemplateAlias=None, Cc=None, Bcc=None, Subject=None,
Tag=None, ReplyTo=None, Headers=None, TrackOpens=None, TrackLinks='None', Attachments=None,
InlineCss=True):
"""
Constructs :py:class:`EmailTemplate` instance.
:return: :py:class:`EmailTemplate`
"""
return EmailTemplate(manager=self, TemplateId=TemplateId, TemplateModel=TemplateModel, From=From, To=To, Cc=Cc,
Bcc=Bcc, Subject=Subject, Tag=Tag, ReplyTo=ReplyTo, Headers=Headers, TrackOpens=TrackOpens,
TrackLinks=TrackLinks, Attachments=Attachments, InlineCss=InlineCss)
return EmailTemplate(manager=self, TemplateId=TemplateId, TemplateAlias=TemplateAlias,
TemplateModel=TemplateModel, From=From, To=To, Cc=Cc, Bcc=Bcc, Subject=Subject, Tag=Tag,
ReplyTo=ReplyTo, Headers=Headers, TrackOpens=TrackOpens, TrackLinks=TrackLinks,
Attachments=Attachments, InlineCss=InlineCss)

def EmailBatch(self, *emails):
"""
Expand Down
6 changes: 4 additions & 2 deletions postmarker/models/templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def get(self, id):
response = self.call('GET', '/templates/%s' % id)
return self._init_instance(response)

def create(self, Name, Subject, HtmlBody=None, TextBody=None):
def create(self, Name, Subject, HtmlBody=None, TextBody=None, Alias=None):
"""
Creates a template.
Expand All @@ -45,15 +45,17 @@ def create(self, Name, Subject, HtmlBody=None, TextBody=None):
'Subject': Subject,
'HtmlBody': HtmlBody,
'TextBody': TextBody,
'Alias': Alias,
}
return self._init_instance(self.call('POST', '/templates', data=data))

def edit(self, id, Name=None, Subject=None, HtmlBody=None, TextBody=None):
def edit(self, id, Name=None, Subject=None, HtmlBody=None, TextBody=None, Alias=None):
data = {
'Name': Name,
'Subject': Subject,
'HtmlBody': HtmlBody,
'TextBody': TextBody,
'Alias': Alias,
}
return self.call('PUT', '/templates/%s' % id, data=data)

Expand Down

0 comments on commit 22861be

Please sign in to comment.