[Python] pgsql2shp + zip + cgi + download ... bad header

Giuseppe Naponiello beppenapo a gmail.com
Mar 12 Apr 2016 11:46:53 CEST


>
> Visto che lui genera comunque file che poi tu devi acquisire in altro
> modo, quando lo richiami, redirigi lo stdout e lo stderr verso /dev/null
> (considerando che esiste un /del/null  definito in os, mi pare)

Ottimo, non lo sapevo, gli do un'occhiata!

- usa un logger;
> - riproduci il problema in test;
> - risolvi in test

Breve, conciso ed efficace, grazie per la dritta: il fantastico mondo dei
logger in python mi era oscuro!

Nel frattempo ho risolto in maniera poco ortodossa e che sicuramente farà
rabbrividire i puristi di python:
il pulsante che fa partire la funzione di esportazione non l'ho fatto
puntare direttamente allo script python ma, attraverso jquery ajax, ad un
file php che, a sua volta passa alcuni parametri allo script python, in
questo modo ho creato una specie di canale tra ajax e python, filtrandone
l'output:

$file = $_POST['filename'];
$command = "python psql2shp.py $file 2>&1";
$pid = popen( $command,"r");
while( !feof( $pid ) ){
    echo fread($pid, 256);
    flush();
    ob_flush();
}
pclose($pid);

...ok, è brutta ma funziona

Cosa ne pensate? Consigli, dubbi, critiche?

-beppe-


2016-04-05 21:31 GMT+02:00 Roberto Polli <robipolli a gmail.com>:

> - usa un logger;
> - riproduci il problema in test;
> - risolvi in test
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
*Giuseppe Naponiello*

*A**rc-**T**eam srl*
piazza Navarrino, 13 - 38023Cles (TN)
C.F. e P. IVA IT-01941600221
cell. +393476846599
mail: beppenapo a arc-team.com
pec: arc-team a pec.it
101 | www.arc-team.com
110 | http://arc-team-open-research.blogspot.it/
000 | https://independent.academia.edu/GiuseppeNaponiello
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160412/5c9ab88a/attachment-0001.html>


Maggiori informazioni sulla lista Python