[Python] [ANN] igloo beta
Manlio Perillo
manlio_perillo a libero.it
Gio 30 Ago 2007 15:41:42 CEST
aleuser a inwind.it ha scritto:
> -------- Original Message --------
> From: Manlio Perillo <manlio_perillo a libero.it>
>
>>> Ok, ma quindi non c'e' modo di settare mako-variabili dai file dei
>>> contenuti?
>> Solo tramite headers.
> Intendi gli "header" dei content.ht ?
> Avrei una idea: il "content.it" utilizzato per impostare delle
> mako-variabili. Alcune di queste sono obbligatorie, altre no. 'text'
> potrebbe essere definita esplicitamente. Ad esempio
>
> title: Python Programming Language -- Official Website
> .....
> Content-type: text/x-rst
> Template: homepage
> variabile1: contenuto1
> variabile2: contenuto2
> text:
> **Python is a dynamic object-oriented programming language that can be
> used for many kinds of software development. It offers strong support
> for....
>
Questo è già quello che avviene ora, solo che nella implementazione
attuale vengono passati al template solo gli headers "noti".
Inoltre non è necessario l'header text, il testo è incluso come payload
del messaggio rfc822.
> Non so se ho bisogno; mi viene in mente solo la lingua, per ora.
>
>> Ovviamente devi poi vedere da dove recuperare la lingua
>> da utilizzare :).
> eh, ci arrivo, ci arrivo :-)
>
>> Resta però il fatto che questi headers vanno comunque inseriti per
>> ogni contenuto, anche perchè la label del link deve essere comunque
>> localizzata.
> Altra idea (presa da zope, se non erro): le keyword definite nei
> content.ht si propagano in cascata nelle directory 'data/..' a meno che
> non vengano ridefinite.
In igloo l'unica cosa che si propaga a cascata sono i links per la
navigazione principale.
> Solo se c'e' il modo di distinguere fa "valore
> locale" e "valore ereditato"; mi sembra che mako consideri questa
> differenza ('local', 'self', ??) ma a livello di template; in zope si
> riusciva a farla.
>
Mi sembra che Pyramid lo faccia.
Ovviamente non ci metti (quasi) niente a modificare igloo in modo che
prenda il valore di un header dai padri, se non definito nel figlio.
Ad esempio sto per implementare questa feature per la navigazione,
quando l'opzione lonely_nav è attiva (per compatibilità con ht2html).
Comunque se tutto quello che ti serve è una variabile "lang" non hai
bisogno di tutto questo, dato che il linguaggio lo puoi ricavare facendo
lang = components[1]
come tu stesso proponi in seguito.
> [...]
>
> Ho notato una cosa: "visit_directory" non processa la directory se non
> contiene "content.ht", ma la fa in un modo che anche tutti i file
> contenuti in tale dir. non vengono copiati; è il giusto comportamento
> che ti attendevi?
>
Si.
Se una directory non ha un content.ht, significa che non c'è contenuto.
L'idea una pagina -> una directory semplifica le cose, IMHO.
Saluti Manlio Perillo
Maggiori informazioni sulla lista
Python