Пример #1
0
 def _expand_docs(self, docs, ctx):
     try:
         tmpl = TextTemplate(docs)
         return tmpl.generate(**dict(ctx.items())).render()
     except (TemplateSyntaxError, BadDirectiveError), exc:
         self.log.exception("Syntax error rendering protocol documentation")
         return "'''Syntax error:''' [[BR]] %s" % (str(exc), )
Пример #2
0
        def report_name(records, reserved_length=0):
            names = []
            name_length = 0
            record_count = len(records)
            max_length = (REPORT_NAME_MAX_LENGTH - reserved_length -
                          len(str(record_count)) - 2)
            if action_report.record_name:
                template = TextTemplate(action_report.record_name)
            else:
                template = None
            for record in records[:5]:
                if template:
                    record_name = template.generate(record=record).render()
                else:
                    record_name = record.rec_name
                name_length += len(unicodedata.normalize('NFKD',
                                                         record_name)) + 1
                if name_length > max_length:
                    break
                names.append(record_name)

            name = '-'.join(names)
            if len(records) > len(names):
                name += '__' + str(record_count - len(names))
            return name
Пример #3
0
 def _expand_docs(self, docs, ctx):
     try :
         tmpl = TextTemplate(docs)
         return tmpl.generate(**dict(ctx.items())).render()
     except (TemplateSyntaxError, BadDirectiveError), exc:
         self.log.exception("Syntax error rendering protocol documentation")
         return "'''Syntax error:''' [[BR]] %s" % (str(exc),)
Пример #4
0
    def test_empty_lines1(self):
        tmpl = TextTemplate("""Your items:

        #for item in items
          * ${item}
        #end""")
        self.assertEqual(
            """Your items:

          * 0
          * 1
          * 2
""",
            tmpl.generate(items=range(3)).render('text'))
Пример #5
0
    def format_subject(self):
        template = self.config.get('fullblog-notification', 'subject_template')
        template = TextTemplate(template.encode('utf8'))

        prefix = self.config.get('notification', 'smtp_subject_prefix')
        if prefix == '__default__':
            prefix = '[%s]' % self.config.get('project', 'name')
       
        action = self.action.strip('post_').replace('_', ' ')

        data = {
            'blog': self.blog,
            'prefix': prefix,
            'action': action
        }
        return template.generate(**data).render('text', encoding=None).strip()
Пример #6
0
 def format_subj(self, summary):
     template = self.config.get('notification','ticket_subject_template')
     template = TextTemplate(template.encode('utf8'))
                                             
     prefix = self.config.get('notification', 'smtp_subject_prefix')
     if prefix == '__default__': 
         prefix = '[%s]' % self.config.get('project', 'name')
     
     data = {
         'prefix': prefix,
         'summary': summary,
         'ticket': self.ticket,
         'env': self.env,
     }
     
     return template.generate(**data).render('text', encoding=None).strip()
Пример #7
0
 def test_unicode_input(self):
     text = u'$foo\xf6$bar'
     tmpl = TextTemplate(text)
     self.assertEqual(u'x\xf6y', unicode(tmpl.generate(foo='x', bar='y')))
Пример #8
0
 def test_latin1_encoded(self):
     text = u'$foo\xf6$bar'.encode('iso-8859-1')
     tmpl = TextTemplate(text, encoding='iso-8859-1')
     self.assertEqual(u'x\xf6y', unicode(tmpl.generate(foo='x', bar='y')))
Пример #9
0
 def test_end_with_args(self):
     tmpl = TextTemplate("""
     #if foo
       bar
     #end 'if foo'""")
     self.assertEqual('\n', str(tmpl.generate(foo=False)))
Пример #10
0
 def test_comment_escaping(self):
     tmpl = TextTemplate('\\## escaped comment')
     self.assertEqual('## escaped comment', str(tmpl.generate()))
Пример #11
0
 def test_comment(self):
     tmpl = TextTemplate('## a comment')
     self.assertEqual('', str(tmpl.generate()))
Пример #12
0
 def test_escaping(self):
     tmpl = TextTemplate('\\#escaped')
     self.assertEqual('#escaped', str(tmpl.generate()))