示例#1
0
def convertTmplPathToModuleName(tmplPath,
                                _pathNameTransChars=_pathNameTransChars,
                                splitdrive=os.path.splitdrive,
                                ):
    try:
        moduleName = splitdrive(tmplPath)[1].translate(_pathNameTransChars)
    except (UnicodeError, TypeError):
        moduleName = unicode(splitdrive(tmplPath)[1]).translate(unicode(_pathNameTransChars))
    return moduleName
示例#2
0
    def runTest(self):
        t = Template.compile(source="""#encoding utf-8
        Main file with |$v| and eacute in the template é""")

        t.v = 'Unicode String'

        assert unicode(t())
示例#3
0
 def test_success(self):
     """ Test a template with a proper #encoding tag """
     template = '#encoding utf-8\n%s' % self.template
     template = Template(template, searchList=[{'header': '',
                                                'nombre': '',
                                                'numpedidos_bodega': '',
                                                'numpedidos_noconf': ''}])
     self.assertTrue(unicode(template))
示例#4
0
    def runTest(self):
        source = """#encoding utf-8
        #set $someUnicodeString = u"Bébé"
        Main file with |$v| and eacute in the template é"""

        template = self.createAndCompile(source)
        template.v = u'Unicode String'

        assert unicode(template())
示例#5
0
    def testDynamicCompile(self):
        source = """#encoding utf-8
#set $someUnicodeString = u"Bébé"
$someUnicodeString"""

        template = Template(source=source)

        a = unicode(template)
        if PY2:
            a = a.encode("utf-8")
        self.assertEqual("Bébé", a)
示例#6
0
    def runTest(self):
        t = Template.compile(source="""Main file with |$v|

        $other""")

        otherT = Template.compile(source="Other template with |$v|")
        other = otherT()
        t.other = other

        t.v = u'Unicode String with eacute é'
        t.other.v = u'Unicode String and an eacute é'

        assert unicode(t())
示例#7
0
    def performanceSample(self):
        template = '''
            #import sys
            #import os
            #set foo = [1,2,3,4]

            Well hello there! This is basic.

            Here's an array too: $foo
        '''
        template = Cheetah.Template.Template.compile(
            template, keepRefToGeneratedCode=False)
        template = template()
        template = unicode(template)
示例#8
0
 def filter(self, val, encoding=None, str=str, **kw):
     '''
         Pass Unicode strings through unmolested, unless an encoding is specified.
     '''
     if val is None:
         return u''
     if isinstance(val, unicode):
         # ignore the encoding and return the unicode object
         return val
     else:
         try:
             return unicode(val)
         except UnicodeDecodeError:
             # we could put more fallbacks here, but we'll just pass the str
             # on and let DummyTransaction worry about it
             return str(val)
示例#9
0
 def safeConvert(self, chunk):
     # Exceptionally gross, but the safest way
     # I've found to ensure I get a legit unicode object
     if not chunk:
         return u''
     if isinstance(chunk, unicode):
         return chunk
     try:
         return chunk.decode('utf-8', 'strict')
     except UnicodeDecodeError:
         try:
             return chunk.decode('latin-1', 'strict')
         except UnicodeDecodeError:
             return chunk.decode('ascii', 'ignore')
     except AttributeError:
         return unicode(chunk, errors='ignore')
     return chunk
示例#10
0
 def runTest(self):
     class Sub(Template):
         greeting = 'Hola'
     tmpl = Sub('''When we meet, I say "${greeting}"''')
     self.assertEqual(unicode(tmpl), 'When we meet, I say "Hola"')
示例#11
0
 def performanceSample(self):
     value = unicode(self.template)  # noqa: F841
示例#12
0
    def body(self, **KWS):

        ## CHEETAH: generated from #def body at line 6, col 1.
        trans = KWS.get("trans")
        if (not trans and not self._CHEETAH__isBuffering
                and not callable(self.transaction)):
            trans = self.transaction  # is None unless self.awake() was called
        if not trans:
            trans = DummyTransaction()
            _dummyTrans = True
        else:
            _dummyTrans = False
        write = trans.response().write
        SL = self._CHEETAH__searchList
        _filter = self._CHEETAH__currentFilter

        ########################################
        ## START - generated method body

        write(
            u'''<h1>\u041f\u043e\u0438\u0441\u043a \u0430\u0432\u0442\u043e\u0440\u043e\u0432</h1>
''')
        _v = VFFSL(SL, "search_authors_form", False)(searchList=VFFSL(
            SL, "searchList", True
        ))  # u'$search_authors_form(searchList=$searchList)' on line 9, col 1
        if _v is not None:
            write(
                _filter(_v,
                        rawExpr=u'$search_authors_form(searchList=$searchList)'
                        ))  # from line 9, col 1.
        write(u'''

<h1>''')
        _v = VFFSL(SL, "title", True)  # u'$title' on line 11, col 5
        if _v is not None:
            write(_filter(_v, rawExpr=u'$title'))  # from line 11, col 5.
        write(u'''</h1>

''')
        if VFFSL(SL, "authors", True):  # generated from line 13, col 1
            write(u'''  <table>
  <tr>
  ''')
            if False:
                _
            _ = VFFSL(SL, "getattr", False)(VFFSL(
                SL, "translations", True), 'ugettext', None) or VFFSL(
                    SL, "translations.gettext", True)
            for column in VFFSL(SL, "columns",
                                True):  # generated from line 17, col 3
                write(u'''    <td style="text-align: center">''')
                if False:
                    _(VFFSL(SL, "column", True))
                _v = VFN(VFFSL(SL, "cgi", True), "escape", False)(VFFSL(
                    SL, "_",
                    False)(VFFSL(SL, "column", True)
                           ))  # u'$cgi.escape($_($column))' on line 18, col 36
                if _v is not None:
                    write(_filter(_v, rawExpr=u'$cgi.escape($_($column))')
                          )  # from line 18, col 36.
                write(u'''</td>
''')
            write(u'''  </tr>
''')
            for author in VFFSL(SL, "authors",
                                True):  # generated from line 21, col 3
                write(u'''  <tr>
''')
                for column in VFFSL(SL, "columns",
                                    True):  # generated from line 23, col 3
                    if VFFSL(SL, "column",
                             True) == 'count':  # generated from line 24, col 5
                        style = ' style="text-align: right; width: 5ex"'
                    else:  # generated from line 26, col 5
                        style = ''
                    write(u'''    <td''')
                    _v = VFFSL(SL, "style",
                               True)  # u'$style' on line 29, col 8
                    if _v is not None:
                        write(_filter(
                            _v, rawExpr=u'$style'))  # from line 29, col 8.
                    write(u'''><a href="/books-by-author/''')
                    _v = VFFSL(SL, "author.id",
                               True)  # u'$author.id' on line 29, col 41
                    if _v is not None:
                        write(_filter(
                            _v,
                            rawExpr=u'$author.id'))  # from line 29, col 41.
                    write(u'''/">
    ''')
                    _v = VFN(VFFSL(SL, "cgi", True), "escape", False)(
                        unicode(
                            VFFSL(SL, "getattr", False)(VFFSL(
                                SL, "author", True), VFFSL(SL, "column", True))
                            or '')
                    )  # u"$cgi.escape(unicode($getattr($author, $column) or ''))" on line 30, col 5
                    if _v is not None:
                        write(
                            _filter(
                                _v,
                                rawExpr=
                                u"$cgi.escape(unicode($getattr($author, $column) or ''))"
                            ))  # from line 30, col 5.
                    write(u'''
    </a></td>
''')
                write(u'''  </tr>
''')
            write(u'''  </table>
''')
        else:  # generated from line 36, col 1
            write(
                u'''  <p>\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u0440\u0430!</p>
''')

        ########################################
        ## END - generated method body

        return _dummyTrans and trans.response().getvalue() or ""
示例#13
0
    def body(self, **KWS):



        ## CHEETAH: generated from #def body at line 6, col 1.
        trans = KWS.get("trans")
        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
            trans = self.transaction # is None unless self.awake() was called
        if not trans:
            trans = DummyTransaction()
            _dummyTrans = True
        else: _dummyTrans = False
        write = trans.response().write
        SL = self._CHEETAH__searchList
        _filter = self._CHEETAH__currentFilter
        
        ########################################
        ## START - generated method body
        
        write(u'''<h1>''')
        _v = VFFSL(SL,"title",True) # u'$title' on line 7, col 5
        if _v is not None: write(_filter(_v, rawExpr=u'$title')) # from line 7, col 5.
        write(u'''</h1>

''')
        if VFFSL(SL,"books_by_author",True): # generated from line 9, col 1
            write(u'''  <form action="/download/" method="POST" style="height: 80%">
  <table style="width: 100%; height: 90%">
  <tr>
  <td>&nbsp;</td>
  ''')
            if False:
                _
            _ = VFFSL(SL,"getattr",False)(VFFSL(SL,"translations",True), 'ugettext', None) or VFFSL(SL,"translations.gettext",True)
            for column in VFFSL(SL,"columns",True): # generated from line 15, col 3
                write(u'''    <td style="text-align: center">''')
                if False:
                    _(VFFSL(SL,"column",True))
                _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"_",False)(VFFSL(SL,"column",True))) # u'$cgi.escape($_($column))' on line 16, col 36
                if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($_($column))')) # from line 16, col 36.
                write(u'''</td>
''')
            write(u'''  </tr>
''')
            series = None
            columns1 = VFFSL(SL,"len",False)(VFFSL(SL,"columns",True))+1
            for author in VFFSL(SL,"sorted",False)(VFFSL(SL,"books_by_author",True)): # generated from line 21, col 3
                books = VFFSL(SL,"books_by_author",True)[VFFSL(SL,"author",True)]
                for book in VFFSL(SL,"books",True): # generated from line 23, col 5
                    if VFFSL(SL,"book.series",True) != VFFSL(SL,"series",True): # generated from line 24, col 5
                        series = VFFSL(SL,"book.series",True)
                        write(u'''  <tr>
  <td colspan="''')
                        _v = VFFSL(SL,"columns1",True) # u'$columns1' on line 27, col 16
                        if _v is not None: write(_filter(_v, rawExpr=u'$columns1')) # from line 27, col 16.
                        write(u'''"><b>
  ''')
                        _v = VFFSL(SL,"author",True) # u'$author' on line 28, col 3
                        if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 28, col 3.
                        write(u''' \u2014 <i>
''')
                        if VFFSL(SL,"book.series",True): # generated from line 29, col 3
                            _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"series",True), 1) # u'$cgi.escape($series, 1)' on line 30, col 1
                            if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($series, 1)')) # from line 30, col 1.
                        else: # generated from line 31, col 3
                            write(u'''\u0412\u043d\u0435 \u0441\u0435\u0440\u0438\u0439''')
                        write(u'''  </i></b></td>
  </tr>
''')
                    write(u'''  <tr>
  <td><input type=checkbox name=books value="''')
                    _v = VFFSL(SL,"book.id",True) # u'$book.id' on line 38, col 46
                    if _v is not None: write(_filter(_v, rawExpr=u'$book.id')) # from line 38, col 46.
                    write(u'''"></td>
''')
                    for column in VFFSL(SL,"columns",True): # generated from line 39, col 3
                        if VFFSL(SL,"column",True) in ('ser_no', 'size'): # generated from line 40, col 3
                            style = ' style="text-align: right; width: 5ex"'
                        else: # generated from line 42, col 3
                            style = ''
                        write(u'''  <td''')
                        _v = VFFSL(SL,"style",True) # u'$style' on line 45, col 6
                        if _v is not None: write(_filter(_v, rawExpr=u'$style')) # from line 45, col 6.
                        write(u'''>''')
                        _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(unicode(VFFSL(SL,"getattr",False)(VFFSL(SL,"book",True), VFFSL(SL,"column",True)) or '')) # u"$cgi.escape(unicode($getattr($book, $column) or ''))" on line 45, col 13
                        if _v is not None: write(_filter(_v, rawExpr=u"$cgi.escape(unicode($getattr($book, $column) or ''))")) # from line 45, col 13.
                        write(u'''</td>
''')
                    write(u'''  </tr>
''')
            write(u'''  <tr>
  <td colspan="''')
            _v = VFFSL(SL,"columns1",True) # u'$columns1' on line 51, col 16
            if _v is not None: write(_filter(_v, rawExpr=u'$columns1')) # from line 51, col 16.
            write(u'''" style="text-align: center"><input type="submit" value="\u0421\u043a\u0430\u0447\u0430\u0442\u044c"></td>
  </tr>
  </table>
  </form>
''')
        else: # generated from line 55, col 1
            write(u'''  <p>\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438!</p>
''')
        
        ########################################
        ## END - generated method body
        
        return _dummyTrans and trans.response().getvalue() or ""