Re: [Python] come creare un filtro personalizzato con jinja

2011-06-25 Per discussione Pietro Zambelli
In data mercoledì 22 giugno 2011 14:43:10, Pietro Zambelli ha scritto:
 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...

Buon giorno a tutti!

visto che sono stato contattato da alcuni perché interessati a questo 
programma, 
che ho chiamato Dynamic Latex Generator, scrivo e pubblicizzo cosa fa:

* aggiunge un filtro jinja che, legge e trasforma il file csv, elaborandolo a 
seconda di quello che si vuole ottenere. Ad esempio aggiungendo linee verticali 
o orizzontali, differenziando lo stile delle colonne (l-c-r) ed infine 
permettendo di modificare il format dei numeri utilizzando la sintassi python; 

* da la possibilità di utilizzare il programma da linea di comando per fare in 
modo che i file latex compilati da jinja vengano messi in una cartella 
'build', per poter poi essere interpretati da un compilatore latex vero e 
proprio;

* da la possibilità di leggere un file di configurazione, per assegnare degli 
stili standard ed altri dati che sono richiamabili all'interno del template.

Per chi fosse interessato a collaborare, a dare suggerimenti o critiche, il 
codice sorgente è disponibile su github:

https://github.com/zarch/dynlatex

Grazie.

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] come creare un filtro personalizzato con jinja

2011-06-22 Per discussione Vittorio Zuccala'
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

2011-06-22 Per discussione Pietro Zambelli
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] come creare un filtro personalizzato con jinja

2011-06-22 Per discussione Paolo Bernardi
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

2011-06-22 Per discussione Vittorio Zuccala'
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

2011-06-22 Per discussione Pietro Zambelli
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