Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    def register_helper(self, name, handler):
        name = ensure_unicode(name)

        _compiler._pybars_['helpers'][name] = handler