Autore: garulf Data: To: Flussi di ciotia. Oggetto: [Ciotoflow] ASD [Alternative Pirate Box]
Salve ciot*,
una volta visionato lo scriptino usato da telecomix[0] (correggetemi se
sbaglio) abbiamo (Luca ha) deciso di riscriverlo.
Piu' in basso qualche notizia semitecnica, comunque allego il codice. Se
qualcuno mette un po' di buona volonta' (e javascript) magari incorpora
la barra progresso stupenda fatta da Vendetta.
Manca la parte del list dei file e download, se qualcuno ha tempo libero
lo faccia, se no in questi giorni mi ci metto io. Magari mandatemi una
mail nel caso cosi' non facciamo doppia fatiga.
Le categorie le vogliamo????
Se avete domande fatele.
G.,
[semitecnica]
Per quanto riguarda la notifica del progresso.
Abbiamo fatto bene, abbiamo smadonnato un bel po' il martedi' per
cercare di utilizzare un metodo basato sulle notifiche server (tramite
script inviati nel corpo di una http reply con chunked encoding), ma
alla fine ci siamo arresi ad utilizzare le chiamate Ajax.
A quanto pare infatti firefox (non so gli altri) iniziano a interpretare
le reply solo dopo aver inviato tutta la request. Se qualcuno ha delle
prove certe che affermano questa cosa le dia (io non ho trovato nulla
nel RFC[1]).
Invece ieri ho smadonnato per evitare di leggere e scrivere tre volte
questo maledetto stream di input, subclassando cgi.FieldStorage.
In pratica si e' subclassata la classe facendo l'override del metodo
make_file, che viene chiamato per creare il file temporaneo in cui
veniva salvato il file. Visto che un oggeto FieldStorage richiama il suo
stesso costruttore non sono riuscito ad aggiungere dei parametri al
costruttore della mia sottoclasse, e ho passato quello che mi serviva
(il nome del file statistica) tramite l'environ. Comunque guardate il
codice che si capisce meglio.
Si deve sanitizzare il filename contro evenutali path-traversal.