[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