[python] cgi

2011-08-04 Tema obsahu Martin Beran

zdravím, jsem tu novej...
a zajímalo by mě, jestli existuje pohodlnější možnost načítání dat z cgi, než je cgi.FieldStorage, protože ten mi přijde 
naprosto nepohodlnej. (když python běží pod cgi)


Díky
MB
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cgi

2011-08-04 Tema obsahu Petr Messner
Ahoj,

tento problém řeší snad každý webový framework, takže možnosti existují.

Třeba Werkzeug se dá pod CGI rozjet takto:
http://werkzeug.pocoo.org/docs/deployment/cgi/
POSTnutá data jsou k dispozici v MultiDictu Request.form, soubory jsou
zvlášť v Request.files:
http://werkzeug.pocoo.org/docs/wrappers/#werkzeug.wrappers.BaseRequest.files
Werkzeug má na to vlastní FileStorage:
http://werkzeug.pocoo.org/docs/datastructures/#werkzeug.datastructures.FileStorage

Podobně ve WebOb jsou POSTnutá data v req.POST, opět v nějakém
multidictu jako FieldStorage. Ale nevím, jaký přesně FieldStorage to
je.

Django zase ukládá POST data do Request.POST (což je QueryDict) nebo
Request.FILES jako UploadedFile:
https://docs.djangoproject.com/en/dev/ref/request-response/

A takhle by se dalo pokračovat. Jak je vidět, nějakou vlastní
abstrakci nad daty z HTTP POST si dělá snad každý :) Udělat si jen
vlastní objekt (fasádu) nad cgi.FieldStorage s hezčím API by také bylo
možná řešení.

Snad jsem odpověděl správně. Mimochodem, CGI bych dnes už
nedoporučoval, snad jen kromě studijních účelů. Aplikace pod CGI jsou
pomalé, protože při každém HTTP požadavku se musí celá aplikace
spustit znovu.

PM


2011/8/4 Martin Beran i...@berycz.net:
 zdravím, jsem tu novej...
 a zajímalo by mě, jestli existuje pohodlnější možnost načítání dat z cgi,
 než je cgi.FieldStorage, protože ten mi přijde naprosto nepohodlnej. (když
 python běží pod cgi)

 Díky
 MB
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cgi

2011-08-04 Tema obsahu Martin Beran
Díky, všiml jsem si, že frameworky si to řešej vždycky po svém a každej jinak :) asi hold je budu muset všechny projet 
pořádně a zjistit, co uměj...
že cgi je pomalé vím, ale hádám že běžné hostingy to tak budou většinou mít :-/ každopádně chtěl bych to udělat 
univerzálně, aby to běželo pod vším, což nebude asi legrace...
fieldstorage bych opravdu nedoporučoval, nelíbí se mi tam třeba při uploadu souboru, že člověk nemá šanci zjistit, kde 
se ten soubor nachází, on je někde v tempu a snad už je na něj navázanej unlink a při zavření souboru se smaže, takže 
můžu jen kopírovat obsah, místo toho abych jednodušeji a rychleji použil os.rename... dál jsem ještě nezkoušel, co to 
třeba dělá při multiuploadu (input file multiple), kdo ví, zda to funguje... :) nemluvě o nějaké možnosti navázaní 
přerušeného uploadu...

budu se do toho muset pořádně začíst, popravdě toho moc o cgi nevím

každopádně ještě jednou díky, já se asi budu muset prohrabat v těch 
frameworkách :(


Dne 4.8.2011 10:30, Petr Messner napsal(a):

Ahoj,

tento problém řeší snad každý webový framework, takže možnosti existují.

Třeba Werkzeug se dá pod CGI rozjet takto:
http://werkzeug.pocoo.org/docs/deployment/cgi/
POSTnutá data jsou k dispozici v MultiDictu Request.form, soubory jsou
zvlášť v Request.files:
http://werkzeug.pocoo.org/docs/wrappers/#werkzeug.wrappers.BaseRequest.files
Werkzeug má na to vlastní FileStorage:
http://werkzeug.pocoo.org/docs/datastructures/#werkzeug.datastructures.FileStorage

Podobně ve WebOb jsou POSTnutá data v req.POST, opět v nějakém
multidictu jako FieldStorage. Ale nevím, jaký přesně FieldStorage to
je.

Django zase ukládá POST data do Request.POST (což je QueryDict) nebo
Request.FILES jako UploadedFile:
https://docs.djangoproject.com/en/dev/ref/request-response/

A takhle by se dalo pokračovat. Jak je vidět, nějakou vlastní
abstrakci nad daty z HTTP POST si dělá snad každý :) Udělat si jen
vlastní objekt (fasádu) nad cgi.FieldStorage s hezčím API by také bylo
možná řešení.

Snad jsem odpověděl správně. Mimochodem, CGI bych dnes už
nedoporučoval, snad jen kromě studijních účelů. Aplikace pod CGI jsou
pomalé, protože při každém HTTP požadavku se musí celá aplikace
spustit znovu.

PM


2011/8/4 Martin Berani...@berycz.net:

zdravím, jsem tu novej...
a zajímalo by mě, jestli existuje pohodlnější možnost načítání dat z cgi,
než je cgi.FieldStorage, protože ten mi přijde naprosto nepohodlnej. (když
python běží pod cgi)

Díky
MB

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cgi

2011-08-04 Tema obsahu Petr Messner
2011/8/4 Martin Beran i...@berycz.net:
 Díky, všiml jsem si, že frameworky si to řešej vždycky po svém a každej
 jinak :) asi hold je budu muset všechny projet pořádně a zjistit, co uměj...
 že cgi je pomalé vím, ale hádám že běžné hostingy to tak budou většinou mít
 :-/ každopádně chtěl bych to udělat univerzálně, aby to běželo pod vším, což
 nebude asi legrace...

Běžné hostingy (tedy ty v ČR) Python nepodporují a když ano, tak
nějakým prapodivným způsobem (na vyžádání, s bezpečnostními problémy
apod.). Zkus hostingy zaměřené na Python (klenot.cz?, rosti.cz), nebo
ideálně virtální server, kde si pak můžeš dělat cokoli.

Od toho, aby to legrace byla, existuje WSGI. Stačí udělat webovou
aplikaci nad WSGI a pak bude úplně jedno, jestli pojede přes CGI,
mod_wsgi, FastCGI, Python http server nebo něco jiného. Všechny ty
frameworky fungují právě před WSGI.

 fieldstorage bych opravdu nedoporučoval, nelíbí se mi tam třeba při uploadu
 souboru, že člověk nemá šanci zjistit, kde se ten soubor nachází, on je
 někde v tempu a snad už je na něj navázanej unlink a při zavření souboru
 se smaže, takže můžu jen kopírovat obsah, místo toho abych jednodušeji a
 rychleji použil os.rename... dál jsem ještě nezkoušel, co to třeba dělá při
 multiuploadu (input file multiple), kdo ví, zda to funguje... :) nemluvě o
 nějaké možnosti navázaní přerušeného uploadu...

Multiupload by to mělo umět. Přesné chování cgi.FieldStorage při
uploadu souboru by se možná dalo upravit změnou některých metod,
nevím.

 budu se do toho muset pořádně začíst, popravdě toho moc o cgi nevím

 každopádně ještě jednou díky, já se asi budu muset prohrabat v těch
 frameworkách :(


 Dne 4.8.2011 10:30, Petr Messner napsal(a):

 Ahoj,

 tento problém řeší snad každý webový framework, takže možnosti existují.

 Třeba Werkzeug se dá pod CGI rozjet takto:
 http://werkzeug.pocoo.org/docs/deployment/cgi/
 POSTnutá data jsou k dispozici v MultiDictu Request.form, soubory jsou
 zvlášť v Request.files:

 http://werkzeug.pocoo.org/docs/wrappers/#werkzeug.wrappers.BaseRequest.files
 Werkzeug má na to vlastní FileStorage:

 http://werkzeug.pocoo.org/docs/datastructures/#werkzeug.datastructures.FileStorage

 Podobně ve WebOb jsou POSTnutá data v req.POST, opět v nějakém
 multidictu jako FieldStorage. Ale nevím, jaký přesně FieldStorage to
 je.

 Django zase ukládá POST data do Request.POST (což je QueryDict) nebo
 Request.FILES jako UploadedFile:
 https://docs.djangoproject.com/en/dev/ref/request-response/

 A takhle by se dalo pokračovat. Jak je vidět, nějakou vlastní
 abstrakci nad daty z HTTP POST si dělá snad každý :) Udělat si jen
 vlastní objekt (fasádu) nad cgi.FieldStorage s hezčím API by také bylo
 možná řešení.

 Snad jsem odpověděl správně. Mimochodem, CGI bych dnes už
 nedoporučoval, snad jen kromě studijních účelů. Aplikace pod CGI jsou
 pomalé, protože při každém HTTP požadavku se musí celá aplikace
 spustit znovu.

 PM


 2011/8/4 Martin Berani...@berycz.net:

 zdravím, jsem tu novej...
 a zajímalo by mě, jestli existuje pohodlnější možnost načítání dat z cgi,
 než je cgi.FieldStorage, protože ten mi přijde naprosto nepohodlnej.
 (když
 python běží pod cgi)

 Díky
 MB

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cgi

2011-08-04 Tema obsahu Tomas Brabenec

Ahoj,

taky doporučuju vlastní server/virtuální.
Já používám CherryPy a to je u hostingů problém. Dříve nebylo vůbec nic, 
dneska něco málo přes WSGI, ale nevím, jak moc jsou důvěryhodné, kdysi 
to bylo otřesné.
Osobně jsem to vyřešil přes virtuální server. Dříve klasický VS, dneska 
využívám www.virtualmaster.cz (tohle není reklama, jen zkušenost). 
Člověk si tam může udělat X serverů s různými parametry. Já tam mám 
aktuálně vytvořené 4 servery s různými konfiguracemi, jak potřebuju. 
Navíc, když je potřeba, vytvořím si testovací server, ať už kopií 
jednoho ostrého nebo čistý, třeba jen na týden, otestuji co chci, 
vyřeším případné problémy a pak můžu provést změny na ostrém serveru.


T.


Dne 4.8.2011 11:25, Petr Messner napsal(a):

2011/8/4 Martin Berani...@berycz.net:

Díky, všiml jsem si, že frameworky si to řešej vždycky po svém a každej
jinak :) asi hold je budu muset všechny projet pořádně a zjistit, co uměj...
že cgi je pomalé vím, ale hádám že běžné hostingy to tak budou většinou mít
:-/ každopádně chtěl bych to udělat univerzálně, aby to běželo pod vším, což
nebude asi legrace...

Běžné hostingy (tedy ty v ČR) Python nepodporují a když ano, tak
nějakým prapodivným způsobem (na vyžádání, s bezpečnostními problémy
apod.). Zkus hostingy zaměřené na Python (klenot.cz?, rosti.cz), nebo
ideálně virtální server, kde si pak můžeš dělat cokoli.

Od toho, aby to legrace byla, existuje WSGI. Stačí udělat webovou
aplikaci nad WSGI a pak bude úplně jedno, jestli pojede přes CGI,
mod_wsgi, FastCGI, Python http server nebo něco jiného. Všechny ty
frameworky fungují právě před WSGI.


fieldstorage bych opravdu nedoporučoval, nelíbí se mi tam třeba při uploadu
souboru, že člověk nemá šanci zjistit, kde se ten soubor nachází, on je
někde v tempu a snad už je na něj navázanej unlink a při zavření souboru
se smaže, takže můžu jen kopírovat obsah, místo toho abych jednodušeji a
rychleji použil os.rename... dál jsem ještě nezkoušel, co to třeba dělá při
multiuploadu (input file multiple), kdo ví, zda to funguje... :) nemluvě o
nějaké možnosti navázaní přerušeného uploadu...

Multiupload by to mělo umět. Přesné chování cgi.FieldStorage při
uploadu souboru by se možná dalo upravit změnou některých metod,
nevím.


budu se do toho muset pořádně začíst, popravdě toho moc o cgi nevím

každopádně ještě jednou díky, já se asi budu muset prohrabat v těch
frameworkách :(


Dne 4.8.2011 10:30, Petr Messner napsal(a):

Ahoj,

tento problém řeší snad každý webový framework, takže možnosti existují.

Třeba Werkzeug se dá pod CGI rozjet takto:
http://werkzeug.pocoo.org/docs/deployment/cgi/
POSTnutá data jsou k dispozici v MultiDictu Request.form, soubory jsou
zvlášť v Request.files:

http://werkzeug.pocoo.org/docs/wrappers/#werkzeug.wrappers.BaseRequest.files
Werkzeug má na to vlastní FileStorage:

http://werkzeug.pocoo.org/docs/datastructures/#werkzeug.datastructures.FileStorage

Podobně ve WebOb jsou POSTnutá data v req.POST, opět v nějakém
multidictu jako FieldStorage. Ale nevím, jaký přesně FieldStorage to
je.

Django zase ukládá POST data do Request.POST (což je QueryDict) nebo
Request.FILES jako UploadedFile:
https://docs.djangoproject.com/en/dev/ref/request-response/

A takhle by se dalo pokračovat. Jak je vidět, nějakou vlastní
abstrakci nad daty z HTTP POST si dělá snad každý :) Udělat si jen
vlastní objekt (fasádu) nad cgi.FieldStorage s hezčím API by také bylo
možná řešení.

Snad jsem odpověděl správně. Mimochodem, CGI bych dnes už
nedoporučoval, snad jen kromě studijních účelů. Aplikace pod CGI jsou
pomalé, protože při každém HTTP požadavku se musí celá aplikace
spustit znovu.

PM


2011/8/4 Martin Berani...@berycz.net:

zdravím, jsem tu novej...
a zajímalo by mě, jestli existuje pohodlnější možnost načítání dat z cgi,
než je cgi.FieldStorage, protože ten mi přijde naprosto nepohodlnej.
(když
python běží pod cgi)

Díky
MB

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python