[Python] Baco di cgi o mio?

David Mugnai dvd a gnx.it
Mar 12 Maggio 2009 12:00:14 CEST


On Fri, 08 May 2009 17:06:58 +0200, Pietro Battiston wrote:

> Il giorno ven, 08/05/2009 alle 16.57 +0200, Zanon Samuele ha scritto:
>> non credo che funzioni perchè il comando non viene eseguito al seguito
>> dell'invio di un form...
> 
> Veramente lo stesso identico problema lo ho in un cgi che ha appena
> ricevuto un form bello pieno, e l'ho riprodotto in due linee di script
> solo per comodità. Se fai un "print cgi.FormContentDict()", ottieni un
> pacifico "{}".

te lo riproduco in ancora meno linee ;)

In [20]: from UserDict import UserDict
In [21]: list(iter(UserDict()))

in soldoni la classe UserDict, da cui cgi.FormContentDict deriva non è 
iterabile (non definisce __iter__ e la sua __getitem__ non funziona con 
gli interi) quindi non puoi fare ( i for i in cgi.FormContentDict())

Detto questo IMHO è un bug, non il fatto che UserDict non sia iterabile, 
quanto il fatto che FormContentDict non derivi da 
UserDict.IterableUserDict o meglio ancora da dict.

ciao
-- 
Mi contraddico, forse?
Ebbene mi contraddico (sono vasto, contengo moltitudini)
                                         -- Walt Whitman



Maggiori informazioni sulla lista Python