WSGIarea online

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Das überleben von Variablen passiert bei mir im Session-Handling... So wie ich das jetzt verstehe, sollte es doch eigentlich mit WSGI auf die gleiche Art erfolgen, das heißt als CGI und mod_python auf die selbe Art. Sodas ein Programm mit beiden, ohne Anpassung läuft, oder?

Gibt es irgendwie schon ein Beispiel, wie das ganze konkret abläuft???


EDIT: Ach, was ist eigentlich mit der Problematik mit dem Parameter-Übergabe an Methoden??? Gibt es da irgendwas in Verbindung mit WSGI oder den middlewares ?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

jens hat geschrieben:Das überleben von Variablen passiert bei mir im Session-Handling... So wie ich das jetzt verstehe, sollte es doch eigentlich mit WSGI auf die gleiche Art erfolgen, das heißt als CGI und mod_python auf die selbe Art. Sodas ein Programm mit beiden, ohne Anpassung läuft, oder?
So eine Anwendung schaut nicht wie CGI aus, kann sie technisch nicht, da CGI ja nicht von überlebenden und temporären Variablen unterscheiden kann. Der CGI Wrapper kennt nur temporäre, thread übergreifende werden trotzdem jedesmal neu erstellt.
jens hat geschrieben:Gibt es irgendwie schon ein Beispiel, wie das ganze konkret abläuft???
Im Wiki :-)
Und eine kleine Testanwendung ist hier: http://trac.pocoo.org/browser/wsgi/trun ... dreader.py
jens hat geschrieben:EDIT: Ach, was ist eigentlich mit der Problematik mit dem Parameter-Übergabe an Methoden??? Gibt es da irgendwas in Verbindung mit WSGI oder den middlewares ?
Dafür kann ich eine Middleware oder noch besser, dekoratoren schreiben. Da lässt sich was machen. Ideen können ja abgeliefert werden :-)
TUFKAB – the user formerly known as blackbird
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Bitte keine Dekoratoren, das aktuelle Debian mod_python ist mit 2.3 kompiliert, die könnte ich dann nicht nutzen ohne mir mein mod_python neu zu kompilen.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

henning hat geschrieben:Bitte keine Dekoratoren, das aktuelle Debian mod_python ist mit 2.3 kompiliert, die könnte ich dann nicht nutzen ohne mir mein mod_python neu zu kompilen.
Dekoratoren gehen unter python2.3 auch nur ist halt die Syntax anders:

Code: Alles auswählen

def mein_deco(f):
    def wrapped(f, *args, **kwargs):
        return f(*args, **kwargs) + ' blub'
    return wrapped

#python2.3:
def function(spam):
    return 'blub %s' % spam
function = mein_deco(function)

#python 2.4
@mein_deco
def function(spam):
    return 'blub %s' % spam
TUFKAB – the user formerly known as blackbird
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Ja eben und das ist gerade bei längeren Funktionen SEHR unschön, weil man solche Sachen doch lieber in der Nähe des Funktionskopfes hat, siehe den Thread auf den jens schon hingewiesen hat, da haben wir schon einige Alternativen diskutiert.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ja, ich möchte auch mal wieder alles für Python 2.2.1 haben :?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

jens hat geschrieben:Ja, ich möchte auch mal wieder alles für Python 2.2.1 haben :?
Das wird sich nicht wirklich machen lassen. Ich verwende schon genug Features aus Python2.3

Warum zur Hölle so alte Python Versionen noch unterstützen?
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

blackbird hat geschrieben:
jens hat geschrieben:Ja, ich möchte auch mal wieder alles für Python 2.2.1 haben :?
Warum zur Hölle so alte Python Versionen noch unterstützen?
Frag nicht mich, frag Hosteurope :? Ich verstehe es auch nicht, warum die nicht mal in die Schuh kommen... Bei PHP bieten die natürlich was brand aktuelles an :twisted:

Ich weiß allerdings keinen anderen Provider Preis/Leistung/Zuverlässigkeit...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

jens hat geschrieben:
blackbird hat geschrieben:
jens hat geschrieben:Ja, ich möchte auch mal wieder alles für Python 2.2.1 haben :?
Warum zur Hölle so alte Python Versionen noch unterstützen?
Frag nicht mich, frag Hosteurope :? Ich verstehe es auch nicht, warum die nicht mal in die Schuh kommen... Bei PHP bieten die natürlich was brand aktuelles an :twisted:

Ich weiß allerdings keinen anderen Provider Preis/Leistung/Zuverlässigkeit...
Was zahlst du? Wenn du dich mit Linux auskennst und du vor Allem python drauf laufen lassen willst: alturo.de

Ansonsten python compilieren und ins webverzeichniss hochladen.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

blackbird hat geschrieben:Was zahlst du? Wenn du dich mit Linux auskennst und du vor Allem python drauf laufen lassen willst: alturo.de
z.Z. Nutze ich das WebPack M für 3€ p.M.

Welche Version hat den alturo.de beim "Webmaster"-Paket installiert? Oder nutzt du da einen Server?
blackbird hat geschrieben:Ansonsten python compilieren und ins webverzeichniss hochladen.
Hm! Das geht???

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

joe hat geschrieben:
henning hat geschrieben:Wenns es einen Browser gibt *gegen* den man optimieren darf, dann ist es wohl der IE ,-)
Best viewed with !IE :P
joe
Leider nicht. Das IE hat nunmal noch so um die 70% Marktanteil, IIRC.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

jens hat geschrieben:Welche Version hat den alturo.de beim "Webmaster"-Paket installiert? Oder nutzt du da einen Server?
für pocoo.org verwende ich einen server, für meine homepage hab ich bei hosteurope ein Webpack L.
jens hat geschrieben:
blackbird hat geschrieben:Ansonsten python compilieren und ins webverzeichniss hochladen.
Hm! Das geht???
Ich wüsste nicht warum nicht.

@Joghurt: Du kannst das Design ja in den Benutzeroptionen auf modern umstellen. das funzt auch mit IE

----

In der Zwischenzeit gibts einige neue Middleware Systeme. :-)
Google Highlighter, Chrome (für statischen Inhalt) inkl thumbnailer ^^
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

blackbird hat geschrieben:Was zahlst du? Wenn du dich mit Linux auskennst und du vor Allem python drauf laufen lassen willst: alturo.de
Hab mal bei denen Nachgefragt. Bei dem normalen "Webmaster"-Webspace Paket ist das uralte Python v2.1 installiert, allerdings ist mod_Python und fast_cgi wohl verfügbar...

Ich hab im Wiki eine Seite eingerichtet, um festzuhalten, wer was anbietet:
http://www.pythonwiki.de/PythonWebspace

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Und wieder was Neues. Eine AJAX Middleware und eine dazu passende Beispielanwendung.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dann machst du mit wsgi also weiter???

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

jens hat geschrieben:Dann machst du mit wsgi also weiter???
Ich hab nie aufgehört.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Naja, ich dachte du wolltest erstmal abwarten ob die gefunden "Schwächen" abgeschaft werden... :lol:

Also bleibt es dabei? Dann sollte ich mir auch mal wsgi anschauen...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

jens hat geschrieben:Naja, ich dachte du wolltest erstmal abwarten ob die gefunden "Schwächen" abgeschaft werden... :lol:
Ich hab einen netten workaround, in dem ich einfach das storage object cache. Dann kann man mit tools.get_storage(environ) öfter darauf zugreifen.
jens hat geschrieben:Also bleibt es dabei? Dann sollte ich mir auch mal wsgi anschauen...
Es bleibt dabein und du musst es dir ansehen :-)
TUFKAB – the user formerly known as blackbird
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Du hattest doch "bemängelt" dass eine middleware nichts von anderen middlewares weiß.
Mann könnte doch eine middleware bauen, bei der sich middlewares "registrieren" können.
Dann muss man nur noch raten, ob diese middleware drin ist (kann sie nicht ihre anweisenheit auch irgendwie kundtun?) und kann sie dann "fragen" ob alles andere drin ist, was man haben will.

Man könnte das -- sofern man das performance-mäßig für gerechtfertigt hält -- sogar zu nem richtigen dependency-manager ausbauen... oder hatte ich dein Problem falsch verstanden?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

henning hat geschrieben:Du hattest doch "bemängelt" dass eine middleware nichts von anderen middlewares weiß.
Mann könnte doch eine middleware bauen, bei der sich middlewares "registrieren" können.
Dann muss man nur noch raten, ob diese middleware drin ist (kann sie nicht ihre anweisenheit auch irgendwie kundtun?) und kann sie dann "fragen" ob alles andere drin ist, was man haben will.

Man könnte das -- sofern man das performance-mäßig für gerechtfertigt hält -- sogar zu nem richtigen dependency-manager ausbauen... oder hatte ich dein Problem falsch verstanden?
Mir ist erst im Nachinein gekommen, dass ich (wenn alles andere glatt läuft) nicht wissen muss, wie ich auf eine middleware zugreife, die kann sich nämlich, wenn sie muss in das environ eintragen.
So mach ich das beispielsweise mit der CookieMiddleware
TUFKAB – the user formerly known as blackbird
Antworten