eien web page als klasse wird in einen dict aenlichen obkekt gespeichert (zb shelve oder zodb). mit Threading: hier
eien mehr oder wenige nuetzliche classen-homepage die dies nuetzt: hier
etwas code das beides zum zusammenspiel bringt: hier
gruesse
costi
einfaches, experimenelles "web framework"
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wow, du hast in allen drei Dateien fast keine Kommentare und die einzigen Kommentare sind zudem noch inline..
Und um ehrlich zu sein verstehe ich nicht, was dein Post aussagt.
Du hast also ein "Webframework" geschafften, das webentwicklung so weit wie möglich verkompliziert?
Achja, und "for_ever" schreibt man als "forever", also zusammen - das ist ein Wort.
Und um ehrlich zu sein verstehe ich nicht, was dein Post aussagt.
Du hast also ein "Webframework" geschafften, das webentwicklung so weit wie möglich verkompliziert?
Darunter stelle ich mir eher sowas vor wie Nevow Stan oder Brevé. Ist auch wesentlich simpler und eleganter.Costi hat geschrieben:eien web page als klasse wird in einen dict aenlichen obkekt gespeichert (zb shelve oder zodb)
Achja, und "for_ever" schreibt man als "forever", also zusammen - das ist ein Wort.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Oder darum den grausamsten möglichen Code zu produzieren. Einrückung mit Tabs zum Beispiel. Oder die Signatur von Server.__init__(): dasmeinst du doch nicht ernst, oder? Von PEP8 hast du aber sicherlich schon mal gehört, oder? Auch while 1: nutzt man schon längst nichtmehr, seitdem mit Python 2.2.x die Namen True und False dazugekommen sind, die viel aussagekräftiger sind. Fürslogginggibt esübrigens das loggin-Modul, auch schon lange.Costi hat geschrieben:es ging dabei ja nur um einen experiment und nicht um ein XY-famous-monster-framework clone
Oder noch so ein Highlight:
Code: Alles auswählen
method, req, proto = resp.split(" ", 2)#vileicht auch 2
Mal weitergucken:
Code: Alles auswählen
self.logger("got request from " + ip + ":\n " + repr(resp) + "\nparsed it to: " + str(param))
webPage (seltsamer Name, welche Konvention ist denn das?) hat auch noch eine Funktion WebPage._formatHTML() die ja richtig gruselig ist. Davon abgesehen gibt es kein HTML 4.1, sondern nur HTML 4.01. Und jedes Leerzeichen durch zu erstetzen ist ebenso unrichtig. Ich kann mir absolut nicht vorstellen, dass irgendwer nachvollziehen kann, wie dort HTML generiert wird.. obfuscation schlechthin.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Leo nicht soviel nörgeln
Ich möchte nochmal PEP8 in den Raum werfen. Sollte man sich IMHO daran halten. Daher kann ich das nicht genug wiederholen.
Zu deinem Code ansich kann ich nichts sagen (außer das es gegen etliche wichtigste Regeln von PEP8 verstößt) da ich mich in dem Gebiet nicht auskenne.
lg
Ich möchte nochmal PEP8 in den Raum werfen. Sollte man sich IMHO daran halten. Daher kann ich das nicht genug wiederholen.
Zu deinem Code ansich kann ich nichts sagen (außer das es gegen etliche wichtigste Regeln von PEP8 verstößt) da ich mich in dem Gebiet nicht auskenne.
lg
Ja, IMHO solte man HTML-Code von Python-Code trennen (Es sei es ist ein Wegwerfscript).Leonidas hat geschrieben: webPage (seltsamer Name, welche Konvention ist denn das?) hat auch noch eine Funktion WebPage._formatHTML() die ja richtig gruselig ist.
Auch da
Code: Alles auswählen
self.logger("got request from " + ip + ":\n " + repr(resp) + "\nparsed it to: " + str(param))
Sieht so
Code: Alles auswählen
self.logger("got request from %s:\n%s\nparsed it to: " % (ip, repr(resp), str(param)))
Wobei ich würde es gleich so machen:
Code: Alles auswählen
self.logger(
"got request from %s:\n"
"%s\n"
"parsed it to: " % (
ip, repr(resp), str(param)
))
lg
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Ich würde es so machen:sape hat geschrieben:besser aus (Wobei ich mir jetzt nicht die Mühe gemacht habe Typen zu überprüfen. Müsste aber so grob hinhauen.).Code: Alles auswählen
self.logger("got request from %s:\n%s\nparsed it to: " % (ip, repr(resp), str(param)))
Code: Alles auswählen
self.logger("got request from %s:\n%r\nparsed it to: %s" % (ip, resp, param))
TUFKAB – the user formerly known as blackbird