On 29/03/2015 16:34, Francesco Maida wrote:
Siccome ho un po di tempo libero volevo provare a scrivere una libreria
in Python che consenta di creare un file HTML scrivendo del codice.

Tipo E-Factory nella libreria lxml?

http://lxml.de/lxmlhtml.html#creating-html-with-the-e-factory

Lorenzo.

Allora ho creato un package con una classe che gestisce il documento
HTML; a sua volta la classe richiama delle altre sottoclassi che
gestiscono i vari elementi che possono essere inseriti in un documento
HTML: i DIV, le immagini, e altre cose simili.

Qual'è il problema? Che per scrivere decentemente l'output su di un file
di testo vorrei poter indentare per bene il codice HTML. Per farlo mi
sono tenuto una variabile statica nella classe Documento che mi ricorda
quanti spazi di tabulazione devo inserire prima di scrivere ogni riga
del codice. Ogni sottoclasse (che gestisce i Div o le immagini) fa
riferimento a questa variabile per sapere quante tabulazioni deve
inserire prima di scrivere il testo.
Mi rendo conto che detto così non si capisce una fava, quindi provo a
fare un'esempio pratico:

Se devo scrivere in un file questo codice HTML:

<body><div>Ciao mondo</div></body>

ho bisogno di indentare il codice così (a sinistra il numero di
tabulazioni):

(0 TAB) <body>
(1 TAB) <div>
(2 TAB) Ciao mondo
(1 TAB) </div>
(0) TAB) </body>



Ad esempio questo è il codice che uso per la classe Documento. Quando
voglio creare un documento HTML, creo un istanza della classe e gli
passo il nome del file da creare (non ci sono controlli degli errori al
momento)

https://gist.github.com/fmaida/8c9707012d7b67296596

Ad esempio quando voglio creare un div nella classe documento, viene
richiamata una classe come questa:

https://gist.github.com/fmaida/256154d8d7d1ec053bff

Oppure questa:

https://gist.github.com/fmaida/95f412d7cf96c4d79e53



So di non essere bravo a spiegare le cose, ma spero che in un modo o
nell'altro riuscirai a capire cosa intendo


_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a