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
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())
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))
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())
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)
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())
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)
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)
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
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"')
def performanceSample(self): value = unicode(self.template) # noqa: F841
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 ""
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> </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 ""