La raz'on es eliminar esa dependencia porque nadie de mis colaboradores conoce Jinja2, y en este momento no cuentan con el tiempo para entenderlo. Pero bueno eso ya es otro tema. Pero s'i la mejor soluci'on sigue siendo Jinja
On Tue, Jul 16, 2019 at 12:49 AM lasizoillo <lasizoi...@gmail.com> wrote: > Buenas, > > Creo conveniente leer esto antes que nada > http://lucumr.pocoo.org/2016/12/29/careful-with-str-format/ > > El mar., 16 jul. 2019 a las 7:27, Sergio Fernández (<ser...@wikier.org>) > escribió: > >> Un f-string es código, no un string. Yo no seguiría ese camino... es una >> mala idea y potencialmente un riesgo. >> >> ¿Por qué no seguir con Jinja? >> > > Correcto, son potencialmente un riesgo, pero como ponen en el ejemplo > sobre todo porque implican extender string.Formatter y que incluso el > código que no use f-strings puede verse afectado por el cambio :-O > > >> On Mon, Jul 15, 2019, 20:05 AGTUGO <agt...@gmail.com> wrote: >> >>> Dada la evaluación dentro de los f-strings, parece natural reemplazar >>> los lenguajes de plantillas, como Jinja2 con f-string, con simplemente unos >>> ajustes, excepto: >>> >>> > No, no resulta natural reemplazar un lenguaje de plantillas por algo que > no te ofrece una sandbox, sentencias de control, separación entre el parseo > del template (se realiza una sola vez y se cachea) y su uso, template > loaders personalizables,... > > Otra cosa es que en tu caso particular no utilices casi nada de lo que te > ofrece el sistema de plantillas y puedas quitarte una dependencia extra. > Pero creo que sería un caso bastante alejado de la norma. > > >> Convertir de manera limpia los strings a f-strings. >>> >>> La única manera que he encontrado es usar eval, ¿Alguien tiene una idea >>> mejor? >>> >> > Usar string.Formatter, pero si y solo si no te vas a disparar en el pié al > hacerlo. > > >> >>> Resultado deseado = void hola{ std::cout << "hola\n"}; >>> F-string para generarlo = f"void{saludo}{{std::cout << "{saludo}\n"}};" >>> Ejemplo Jinja = void {{saludo}}{std::cout <<"{{saludo}}\n"};" >>> >>> -- >>> Arturo Muñoz >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- Arturo Muñoz Tolosa
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es