def handle_task(self, job): user = job.get('user', 'root') group = job.get('group', 'root') mail = job.get('sender', None) account = Account(user=user, group=group, mail=mail) recipients = job.get('recipients', None) subject = ensure_unicode(job.get('subject', '')) body = ensure_unicode(job.get('body', '')) attachments = job.get('attachments', None) smtp_host = job.get('smtp_host', 'localhost') smtp_port = job.get('smtp_port', 25) html = job.get('html', False) template_data = job.get('jobctx', {}) body = Template(body)(template_data) subject = Template(subject)(template_data) if not html: h = HTMLParser() body = h.unescape(body) subject = h.unescape(subject) # Execute the task return self.sendmail( account, recipients, subject, body, attachments, smtp_host, smtp_port, html)
def __init__(self, source, *args, **kwargs): super(Template, self).__init__(*args, **kwargs) self.source = ensure_unicode(source) self.vars = {} self.register_helper(u'foreach', self._helper_foreach) self.register_helper(u'ifnot', self._helper_ifnot) self.register_helper(u'ifeq', self._helper_ifeq) self.register_helper(u'set', self._helper_set) self.register_helper(u'get', self._helper_get) self.register_helper(u'increment', self._helper_increment) self.register_helper(u'compact', self._helper_compact) self.register_helper(u'formattedDate', self._helper_formatdate) self.register_helper(u'strip-newlines', self._help_strip_nl)
def register_helper(self, name, handler): name = ensure_unicode(name) _compiler._pybars_['helpers'][name] = handler