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