Re: [Python] come creare un filtro personalizzato con jinja
Ciao. Non so esserti di aiuto ma complimenti per la segnalazione. Non conoscevo questo jinja (anche difficile da scrivere) ma ad una prima occhiata mi piace molto :-) Il giorno 22 giugno 2011 10:02, Pietro Zambelli peter.z...@gmail.com ha scritto: Ciao a tutti, mi sto avvicinando a jinja, e vorrei creare un filtro personalizzato... Sto cercando di seguire l'esempio presente nella documentazione Custom Filters: http://jinja.pocoo.org/docs/api/#writing-filters ma non sono riuscito a capire come funziona, vi riporto quello che ho scritto: --- # -*- coding: utf-8 -*- from jinja2 import Template, Environment from datetime import datetime def datetimeformat(value, format='%H:%M / %d-%m-%Y'): return value.strftime(format) environment = Environment() environment.filters['datetimeformat'] = datetimeformat mytemplate = Template(author: {{ name|title }} written on: {{ now|datetimeformat }}) print(mytemplate.render(name='pIeTro', now=datetime.now())) --- cosa sto sbagliando? grazie per l'aiuto Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Blog:http://zuccala.blogspot.com/ Twitter: http://twitter.com/#!/VittorioZuccala/ Buzz: http://www.google.com/profiles/nathanvi#buzz ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] come creare un filtro personalizzato con jinja
In data mercoledì 22 giugno 2011 10:02:37, Pietro Zambelli ha scritto: cosa sto sbagliando? Sbagliavo, perché bisognava caricare il template nel environment, nel casolo si voglia caricare da una stringa c'è il metodo from_string... vi riporto il codice funzionante. --- # -*- coding: utf-8 -*- from jinja2 import Template, Environment, PackageLoader from datetime import datetime def datetimeformat(value, format='%H:%M / %d-%m-%Y'): return value.strftime(format) environment = Environment() environment.filters['datetimeformat'] = datetimeformat mytemplate = environment.from_string(author: {{ name|title }} written on: {{ now|datetimeformat }}) print(mytemplate.render(name='pIeTro', now=datetime.now())) --- Buona giornata! Pietro signature.asc Description: This is a digitally signed message part. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Novizio, primo programma e problema
2011/6/22 luca pellegrino anji...@gmail.com Super grazie Matteo per l'aiuto. Effettivamente la tua versione e' perfetta. Studiandola, ho un paio di domande (so che mi spiego molto male, scusami in anticipo): prego :) Quando crei le def anno_nato e eta passi nelle parentesi lavoratore. In questo momento non stiamo creando le istanze, quanto dichiarando le funzioni nuove. In questo caso lavoratore non e' realmente l'argomento in quanto lavoratore non esiste no? in effetti in quella fase non sto passando niente alla funzione, la sto solo definendo, quindi lavoratore serve per avere un nome all'interno del corpo della funzione per l'argomento che passerò quando verrà effettivamente eseguita. Ciao -- Matteo Scotuzzi ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] come creare un filtro personalizzato con jinja
Allora forse potrà interessarti anche Flask. :-) Paolo On Wed, 2011-06-22 at 10:52 +0200, Vittorio Zuccala' wrote: Ciao. Non so esserti di aiuto ma complimenti per la segnalazione. Non conoscevo questo jinja (anche difficile da scrivere) ma ad una prima occhiata mi piace molto :-) Il giorno 22 giugno 2011 10:02, Pietro Zambelli peter.z...@gmail.com ha scritto: Ciao a tutti, mi sto avvicinando a jinja, e vorrei creare un filtro personalizzato... Sto cercando di seguire l'esempio presente nella documentazione Custom Filters: http://jinja.pocoo.org/docs/api/#writing-filters ma non sono riuscito a capire come funziona, vi riporto quello che ho scritto: --- # -*- coding: utf-8 -*- from jinja2 import Template, Environment from datetime import datetime def datetimeformat(value, format='%H:%M / %d-%m-%Y'): return value.strftime(format) environment = Environment() environment.filters['datetimeformat'] = datetimeformat mytemplate = Template(author: {{ name|title }} written on: {{ now|datetimeformat }}) print(mytemplate.render(name='pIeTro', now=datetime.now())) --- cosa sto sbagliando? grazie per l'aiuto Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Blog:http://zuccala.blogspot.com/ Twitter: http://twitter.com/#!/VittorioZuccala/ Buzz: http://www.google.com/profiles/nathanvi#buzz ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- My blog: http://paolobernardi.wordpress.com signature.asc Description: This is a digitally signed message part ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] come creare un filtro personalizzato con jinja
Ottimo. A questo punto una domanda la faccio io. Ma jinja serve per elaborare template solo per linguaggio HTML o qualsiasi? Posso utilizzarlo per creare dei files in LaTeX o con il linguaggio del Wiki aziendale? Il giorno 22 giugno 2011 14:19, Paolo Bernardi villa.lo...@tiscali.it ha scritto: Allora forse potrà interessarti anche Flask. :-) Paolo On Wed, 2011-06-22 at 10:52 +0200, Vittorio Zuccala' wrote: Ciao. Non so esserti di aiuto ma complimenti per la segnalazione. Non conoscevo questo jinja (anche difficile da scrivere) ma ad una prima occhiata mi piace molto :-) Il giorno 22 giugno 2011 10:02, Pietro Zambelli peter.z...@gmail.com ha scritto: Ciao a tutti, mi sto avvicinando a jinja, e vorrei creare un filtro personalizzato... Sto cercando di seguire l'esempio presente nella documentazione Custom Filters: http://jinja.pocoo.org/docs/api/#writing-filters ma non sono riuscito a capire come funziona, vi riporto quello che ho scritto: --- # -*- coding: utf-8 -*- from jinja2 import Template, Environment from datetime import datetime def datetimeformat(value, format='%H:%M / %d-%m-%Y'): return value.strftime(format) environment = Environment() environment.filters['datetimeformat'] = datetimeformat mytemplate = Template(author: {{ name|title }} written on: {{ now|datetimeformat }}) print(mytemplate.render(name='pIeTro', now=datetime.now())) --- cosa sto sbagliando? grazie per l'aiuto Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Blog:http://zuccala.blogspot.com/ Twitter: http://twitter.com/#!/VittorioZuccala/ Buzz: http://www.google.com/profiles/nathanvi#buzz ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- My blog: http://paolobernardi.wordpress.com -- Blog:http://zuccala.blogspot.com/ Twitter: http://twitter.com/#!/VittorioZuccala/ Buzz: http://www.google.com/profiles/nathanvi#buzz ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] come creare un filtro personalizzato con jinja
In data mercoledì 22 giugno 2011 14:24:53, Vittorio Zuccala' ha scritto: Ottimo. A questo punto una domanda la faccio io. Ma jinja serve per elaborare template solo per linguaggio HTML o qualsiasi? Posso utilizzarlo per creare dei files in LaTeX o con il linguaggio del Wiki aziendale? Si, puoi utilizzarlo per qualsiasi testo: HTML, XML, LaTex, C, C++, etc :-D Io lo sto utilizzando per farmi generare automaticamente del latex... all'interno del mio documento LaTex inserisco una cosa del tipo: {{ ../some.csv|table(label='tab0',caption='Una bella tabella.') }} e questo mi genera automaticamente da un csv come questo: Name,Weight,Heigth Pippo,58.789,1.828 Pluto,16.983,0.608 una cosa come questa: \begin{table}[htb!] \scriptsize \centering \begin{tabular}{ ccc } Name Weight Heigth \\ Pippo 58.789 1.828 \\ Pluto 16.983 0.608 \\ \end{tabular} \caption{ Una bella tabella. } \label{ tab0 } \end{table} l'altro filtro che sto facendo è che mi generi un grafico con tutte le subfigure, con le immagini contenute in una cartella... Se la cosa può interessare, la metto su github... Buona giornata! Pietro signature.asc Description: This is a digitally signed message part. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Novizio, primo programma e problema
Grazie per le due risposte (a te e a Simozack) Quindi, se ho capito bene, lavoratore non viene mai definito direttamente, rimane vuoto fino a che nel ciclo for anni_cal sostituisce la i con lavoratore e lo cicla per ogni 1 di workers... Il giorno 22 giugno 2011 14:18, Matteo Scotuzzi mat...@powazord.com ha scritto: 2011/6/22 luca pellegrino anji...@gmail.com Super grazie Matteo per l'aiuto. Effettivamente la tua versione e' perfetta. Studiandola, ho un paio di domande (so che mi spiego molto male, scusami in anticipo): prego :) Quando crei le def anno_nato e eta passi nelle parentesi lavoratore. In questo momento non stiamo creando le istanze, quanto dichiarando le funzioni nuove. In questo caso lavoratore non e' realmente l'argomento in quanto lavoratore non esiste no? in effetti in quella fase non sto passando niente alla funzione, la sto solo definendo, quindi lavoratore serve per avere un nome all'interno del corpo della funzione per l'argomento che passerò quando verrà effettivamente eseguita. Ciao -- Matteo Scotuzzi ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Anjin WEB: http://www.anjinart.com –– BLOG: http://anjinart.blogspot.com/ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Novizio, primo programma e problema
2011/6/22 luca pellegrino anji...@gmail.com Grazie per le due risposte (a te e a Simozack) Quindi, se ho capito bene, lavoratore non viene mai definito direttamente, rimane vuoto fino a che nel ciclo for anni_cal sostituisce la i con lavoratore e lo cicla per ogni 1 di workers... possiamo dire che viene definito nella lista degli argomenti della funzione def eta(lavoratore): ^^ # definizione e che poi il valore gli viene assegnato quando la funzione viene chiamata anni_calc = eta(i) # il valore di i viene ^ # assegnato a lavoratore # nel corpo della funzione buon divertimento -- Matteo Scotuzzi ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Novizio, primo programma e problema
Grazie mille Il giorno 22 giugno 2011 16:08, Matteo Scotuzzi mat...@powazord.com ha scritto: 2011/6/22 luca pellegrino anji...@gmail.com Grazie per le due risposte (a te e a Simozack) Quindi, se ho capito bene, lavoratore non viene mai definito direttamente, rimane vuoto fino a che nel ciclo for anni_cal sostituisce la i con lavoratore e lo cicla per ogni 1 di workers... possiamo dire che viene definito nella lista degli argomenti della funzione def eta(lavoratore): ^^ # definizione e che poi il valore gli viene assegnato quando la funzione viene chiamata anni_calc = eta(i) # il valore di i viene ^ # assegnato a lavoratore # nel corpo della funzione buon divertimento -- Matteo Scotuzzi ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Anjin WEB: http://www.anjinart.com –– BLOG: http://anjinart.blogspot.com/ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python