Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
shafire
User
Beiträge: 7 Registriert: Mittwoch 31. Januar 2007, 23:02
Mittwoch 31. Januar 2007, 23:04
Hallo,
ich versuche gerade meine eigene WSGI Klasse zu schreiben, aber ich scheitere schon daran...
Code: Alles auswählen
from typments import RegexApplication, HttpResponse
class Application(RegexApplication):
def testprint(self):
return HttpResponse('asd')
typments = Application
Code: Alles auswählen
from typments.application import RegexApplication
from typments.response import HttpResponse
Code: Alles auswählen
class RegexApplication(object):
def __init__(self, environ, start_response):
self.environ = environ
self.start = start_response
def __call__(self):
self.testprint()
return self
Code: Alles auswählen
class HttpResponse(object):
def __init__(self, html):
status = '200 OK'
response_headers = [('Content-type', 'text/html')]
self.start(status, response_headers)
yield html
Ein bisschen abgeguckt von Colubrid ;-(. Aber es will nicht
EnTeQuAk
User
Beiträge: 986 Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:
Donnerstag 1. Februar 2007, 03:05
Warum verwendest du nich einfach Colubrid?
Es ist klein, fein und bietet eine Menge Features...
DENN... das, was du gemacht hast ist im Moment gar nichts.
Ich habe mir den Quelltext von Colubrid noch nicht so genau angeschaut... weiß aber, das der nicht nur aus 8 Zeilen besteht.
MfG EnTeQuAk
shafire
User
Beiträge: 7 Registriert: Mittwoch 31. Januar 2007, 23:02
Donnerstag 1. Februar 2007, 13:42
Ja, eigentlich soll man das verwenden, was andere dafür geschaffen haben... Aber ich will eben mich mal selber an sowas versuchen :-\
mitsuhiko
User
Beiträge: 1790 Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:
Freitag 2. Februar 2007, 07:32
self != self. Dir fehlen da Grundlagen...
TUFKAB – the user formerly known as blackbird
gummibaerchen
User
Beiträge: 51 Registriert: Samstag 7. Oktober 2006, 15:13
Sonntag 4. Februar 2007, 17:03
shafire hat geschrieben: Mein Code war fürn Arsch ;D Hab mich bisschen eingelesen, nun gehts =)
Cool.
Wenn du magst, darfst du den Post auch hier (oder vllt besser im paste.pocoo.org) posten.
Haut dich keiner für, versprochen, und ich würde mich vllt sogar freuen
Y0Gi
User
Beiträge: 1454 Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja
Montag 5. Februar 2007, 15:23
Ich empfehle, "new-style-Klassen" zu verwenden, sprich solche, die von object erben. Die haben ihre Vorteile und bei den alten weiß man nie, wann Guido die plötzlich doch noch rauskegelt
shafire hat geschrieben: Nur die Ausgabe! Will mich später noch in GET/POST/REQUEST einlesen.
Du hast bisher PHP benutzt, hm?
shafire
User
Beiträge: 7 Registriert: Mittwoch 31. Januar 2007, 23:02
Montag 5. Februar 2007, 21:31
Ich empfehle, "new-style-Klassen" zu verwenden, sprich solche, die von object erben. Die haben ihre Vorteile und bei den alten weiß man nie, wann Guido die plötzlich doch noch rauskegelt Wink
Was meinst du damit? Hast du da ein Beispiel?
sape
User
Beiträge: 1157 Registriert: Sonntag 3. September 2006, 12:52
Montag 5. Februar 2007, 22:32
shafire hat geschrieben:
Was meinst du damit? Hast du da ein Beispiel?
Code: Alles auswählen
# Newstyle
class Foobar(object):
pass
# != Newstyle
class Foobar:
pass
[wiki]New-Style Klassen[/wiki]
birkenfeld
Python-Forum Veteran
Beiträge: 1603 Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München
Montag 5. Februar 2007, 22:52
Wobei es, wenn man nichts außergewöhnliches (= deskriptoren, __getattribute__) mit der Klasse anstellen möchte, völlig egal ist, ob old-style oder new-style.
Und wenn old-style verschwindet (erst in Py3.0 übrigens), wird "class X:" sowieso new-style sein.
Y0Gi
User
Beiträge: 1454 Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja
Dienstag 6. Februar 2007, 00:30
birkenfeld hat geschrieben: Und wenn old-style verschwindet (erst in Py3.0 übrigens), wird "class X:" sowieso new-style sein.
Ich gehe eher davon aus, dass es einen Syntaxfehler gibt, denn "explicit is better than implicit". Oder gibt es (anderslautende) Ankündigungen dazu?
birkenfeld
Python-Forum Veteran
Beiträge: 1603 Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München
Dienstag 6. Februar 2007, 08:13
Nein, es gibt keinen Syntaxfehler. Was wäre daran "implizit"?
Y0Gi
User
Beiträge: 1454 Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja
Dienstag 6. Februar 2007, 11:41
Implizit wäre, dass die Klasse von object erbt. Explizit wäre, das dranzuschreiben (was, zugegeben, aber etwas lästig sein kann).
birkenfeld
Python-Forum Veteran
Beiträge: 1603 Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München
Dienstag 6. Februar 2007, 11:54
Es ist lästig... deswegen wird es auch ohne "object" funktionieren.
Y0Gi
User
Beiträge: 1454 Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja
Mittwoch 7. Februar 2007, 11:56
self ist auch für viele lästig, aber der BFDL wollte es ja auch unbedingt haben
Trotzdem kann ich mir die Variante ohne zwingendes (object) gut vorstellen, lässt sich so doch alter Code unverändert übernehmen. Konflikte kann ich mir bei der Umstellung auf new-style-Klassen gerade nicht vorstellen.
Whatever, wird werden sehen.
birkenfeld
Python-Forum Veteran
Beiträge: 1603 Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München
Mittwoch 7. Februar 2007, 12:35
Y0Gi hat geschrieben: Whatever, wird werden sehen.
Das kann man heute schon sehen:
Code: Alles auswählen
Python 3.0x (p3yk:53654, Feb 7 2007, 12:33:48)
>>> class A: pass
...
>>> A.__bases__
(<type 'object'>,)
mitsuhiko
User
Beiträge: 1790 Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:
Mittwoch 7. Februar 2007, 14:55
Das object kann man mit python 2 auch schon weglassen, wenn man __metaclass__ = type in das modul schreibt.
TUFKAB – the user formerly known as blackbird