2006-03-23T00:34:19 *** birkenfeld has quit IRC 2006-03-23T13:31:48 *** birkenfeld has joined #pocoo 2006-03-23T13:31:55 mitsuhiko: ping 2006-03-23T13:32:04 pong birkenfeld 2006-03-23T13:32:58 also ich hab mir das so gedacht dass es ein request.session gibt 2006-03-23T13:33:11 das durch einen IRequestWrapper gesetzt und geschrieben wird 2006-03-23T13:33:48 ist das user gebunden? 2006-03-23T13:34:10 user gebunden? 2006-03-23T13:34:29 die user haben ja accounts auf dem system, anonyme gibts auch 2006-03-23T13:34:38 die leute von phpBB binden die session an das $_SESSION dict 2006-03-23T13:34:41 s/dict/array/ 2006-03-23T13:34:51 wie gesagt, request.session 2006-03-23T13:35:06 es geht nämlich darum 2006-03-23T13:35:18 bei den xmlrpc/jsonrpc sachen muss man sich später auch mal authentifizieren 2006-03-23T13:35:41 ja 2006-03-23T13:35:43 da könnte man sagen pocoo.session.request() --> md5 session id 2006-03-23T13:35:51 und dann bei allen calls diese als erstes übergeben 2006-03-23T13:36:08 pocoo.topic.create(sid, title, text) 2006-03-23T13:36:09 oder sowas 2006-03-23T13:36:20 mitsuhiko: URGS! 2006-03-23T13:36:23 xorAxAx: hm? 2006-03-23T13:36:34 mitsuhiko: wie kommst du auf sowas unbrauchbares? 2006-03-23T13:36:46 mitsuhiko: du musst überall ein request objekt haben 2006-03-23T13:36:58 und die session ist ein attrib, wie birkenfeld schon sagte 2006-03-23T13:37:05 xorAxAx: bei den xmlrpc/jsonrpc sachen muss man sich später auch mal authentifizieren 2006-03-23T13:37:11 xmlrpc != server sache 2006-03-23T13:37:14 mitsuhiko: was hat das damit zu tun? 2006-03-23T13:37:19 "server sache"? 2006-03-23T13:37:36 xorAxAx: mir wäre nicht bekannt, dass xmlrpc cookies oder ähnliches besitzt 2006-03-23T13:37:44 mitsuhiko: ja und? 2006-03-23T13:38:08 mitsuhiko: ah, du meintest gerade das xmlrpc interface? 2006-03-23T13:38:15 dann ist das ok :) 2006-03-23T13:38:17 xorAxAx: :-) 2006-03-23T13:38:24 ja, das meinte ich 2006-03-23T13:38:34 sollen wir die session daten in der DB speichern? 2006-03-23T13:38:42 birkenfeld: wo sonst? 2006-03-23T13:38:49 xorAxAx: filesystem 2006-03-23T13:38:51 ram 2006-03-23T13:38:53 xorAxAx: tempfiles 2006-03-23T13:39:01 wenn man eine db hat, sollte man die auch nutzen 2006-03-23T13:39:31 sowas ist insbesondere in load balancing szenarien wichtig, damit man keine session affinity braucht 2006-03-23T13:39:49 birkenfeld: sonst hätt ich mir gedacht, dass das request.user object immer zu einer session id gemappt wird und man dann auch in der db die session zu einer userid bindet 2006-03-23T13:40:27 mitsuhiko: wozu? 2006-03-23T13:40:48 mitsuhiko: request.session.user_id 2006-03-23T13:40:57 oder request.session['user_id'] 2006-03-23T13:41:13 der User IRequestWrapper wertet das dann aus 2006-03-23T13:41:25 gut, so geht auch :) 2006-03-23T13:41:30 * mitsuhiko denkt wieder zu kompliziert 2006-03-23T13:41:56 xorAxAx: wie handelt das moin xmlrpc system die user authentifizierung? 2006-03-23T13:41:58 mitsuhiko: noch eins: sollen wir die models zentral sammeln oder auch auf die einzelnen Module verteilen? 2006-03-23T13:42:15 mitsuhiko: es verlangt basic auth 2006-03-23T13:42:25 mitsuhiko: aber moin selbst hat keinen basic auth server 2006-03-23T13:42:41 und das ist blöd :) 2006-03-23T13:42:52 birkenfeld: hm. mit packages hab ichs nicht so ^^ 2006-03-23T13:42:59 * mitsuhiko hat wieder einige komponenten in utils gefunden :) 2006-03-23T13:43:17 zentral sammeln wäre übersichtlich denk ich aber 2006-03-23T13:43:20 mitsuhiko: ich schlage vor, "pocoo.components" in "pocoo.pkg" umzubenennen 2006-03-23T13:43:27 viel kürzer und triffts auch besser 2006-03-23T13:43:33 denn es sind ja nicht nur Components drin 2006-03-23T13:43:42 birkenfeld: bin ich dafür 2006-03-23T13:43:45 ok 2006-03-23T13:43:50 die lange import pfade sind nicht die welt :) 2006-03-23T13:44:09 ich commite mal schnell meine ajax dinger 2006-03-23T13:44:54 ist oben 2006-03-23T13:45:15 * mitsuhiko hat gerade eine kleine java anwendung ins repo geladen ^^ 2006-03-23T13:45:31 mitsuhiko: es ist halt so, alle models von plugins müssen jeweils im entsprechenden package sein 2006-03-23T13:49:33 birkenfeld: da fällt mir noch ein, dass die componenten evtl auch templates und javascript files zur verfügung stellen müssen. da ist dann noch die frage wie die abgelegt werden 2006-03-23T13:49:47 mitsuhiko: ja 2006-03-23T13:49:53 also my.package/templates/mytemplate.html und my.package/libs/mylib.js oder sowas evtl 2006-03-23T13:55:54 mitsuhiko: ein ganz generelles problem: momentan laden wir ja instanzspezifische Daten während des Imports, ist sichergestellt dass jede Instanz einen eigenen Python-Prozess bekommt? 2006-03-23T13:56:53 birkenfeld: jeder POCOO_ROOT wird wohl einen eigenen interpreter bekommen müssen 2006-03-23T13:57:00 ja 2006-03-23T13:57:01 sowas wie farmconfig ist eigentlich nicht vorgesehen 2006-03-23T14:06:30 mitsuhiko: gehe ich recht in der annahme, dass der Docstring von pocoo.application.IRequestHandler.process_request nicht mehr ganz stimmt? 2006-03-23T14:07:23 birkenfeld: der erste, zweite und letzte punkt stimmt 2006-03-23T14:07:28 letztere ist aber momentan nicht drin 2006-03-23T14:07:36 der dritte kommt weg da unnötig 2006-03-23T14:08:19 birkenfeld: ich forumliert die später selber um, eigentlich wird der rückgabe werd einfach an send_resposne weitergeleitet nur das templating wird später mal wieder heir erledigt 2006-03-23T14:09:12 mitsuhiko: es geht nämlich darum, dass ich irgendwo die IRequestWrappers einschieben muss 2006-03-23T14:09:35 birkenfeld: muss oder kann? 2006-03-23T14:09:41 muss 2006-03-23T14:10:03 was macht der IRequestWrapper im detail? 2006-03-23T14:10:19 er bearbeitet Request und Response 2006-03-23T14:10:52 momentan werden nämlich für Pocoo von colubrid.Request und colubrid.HttpResponse zwei klassen abgeleitet 2006-03-23T14:12:12 es wäre schön wenn der RequestHandler selbst gleich eine HttpResponse zurückgeben müsste 2006-03-23T14:12:40 birkenfeld: du kannst ja die send_response methode von Request(colubrid.Request) überschreiben 2006-03-23T14:12:51 ok 2006-03-23T14:13:01 die macht nämlich immer eine HttpResponse draus und setzt sie in request.response ab um die später iterieren zu können 2006-03-23T14:20:08 mitsuhiko: warum wird die Response eigentlich im Request gespeichert und von dort aus aufgerufen? 2006-03-23T14:20:19 mitsuhiko: eigentlich ist das doch viel zu kompliziert 2006-03-23T14:20:36 sogar sehr 2006-03-23T14:20:42 aber mir ist nichts bessers eingefallen 2006-03-23T14:21:07 wenn app.process_request einfach die response zurückgeben muss? 2006-03-23T14:21:39 moment. das wäre logisch 2006-03-23T14:21:46 *nachdenk-warum-nicht-so-ist* 2006-03-23T14:22:13 ach. ich weiß warum 2006-03-23T14:22:23 birkenfeld: das kann man jetzt so machen 2006-03-23T14:22:29 (seit dem das cookie handling vom request weg ist) 2006-03-23T14:23:10 okay, dann mach ich das mal 2006-03-23T14:23:32 oki 2006-03-23T14:23:44 was ist mit dem RequestBreak? 2006-03-23T14:24:12 birkenfeld: das stoppt den request einfach und lässt den browser die daten senden. ist mittlerweile sinnlos, das man ja nicht mehr request.write macht 2006-03-23T14:24:18 sondern ein response object zurückgibt 2006-03-23T14:24:21 gut, also weg damit 2006-03-23T14:38:49 birkenfeld: es sollte übrigens auch meta.String statt meta.String() gehen 2006-03-23T14:38:55 ok 2006-03-23T14:48:36 mitsuhiko: svn up 2006-03-23T14:50:16 *** tux123 has joined #pocoo 2006-03-23T14:51:23 birkenfeld: aus alle Fälle logischer und schneller als das bisherige :) 2006-03-23T14:51:38 mitsuhiko: hast du das neue ResponseRequest gesehn? 2006-03-23T14:51:47 birkenfeld: ich schaus mir gerade durch 2006-03-23T14:51:51 bin erst bei 1/3 des changesets :) 2006-03-23T14:53:08 birkenfeld: jo. das ist auf alle fäller pythonic 2006-03-23T14:53:17 s/fäller/Fälle/ 2006-03-23T14:54:13 jetzt wird pocoo noch angepasst 2006-03-23T14:57:23 gut 2006-03-23T15:03:42 bbl 2006-03-23T15:12:47 birkenfeld: dann würde ich sagen, dass wir das templating über einen dekorator machen 2006-03-23T15:12:52 @template('my_template') 2006-03-23T15:12:58 def process_request(self, req): 2006-03-23T15:12:59 pass 2006-03-23T15:13:00 oder sowas 2006-03-23T16:21:12 birkenfeld: kannst du die methoden vom IRequestWrapper evl umbenennen? 2006-03-23T16:21:50 so könnte eine komponente nicht gleichzeitig IRequestWrapper und IRequestHandler implementieren 2006-03-23T19:13:23 mitsuhiko: ja, mach ich nachher. bin nochmla für 3 std. weg :) 2006-03-23T19:13:30 ok :) 2006-03-23T21:36:53 *** tabellar has joined #pocoo 2006-03-23T21:47:26 moin tabellar 2006-03-23T21:47:41 habe di ehre 2006-03-23T21:49:36 ihr seid ja ganz schön eifrig dran an pocoo ;-) 2006-03-23T21:49:46 klar 2006-03-23T21:49:49 soll ja auch fertig werden 2006-03-23T21:50:17 logisch ... ich schau immer im trac mit und les mich ein ... 2006-03-23T21:53:13 ich will schnell das kleine Ajax Bsp im Forum noch korrigieren, damit es WSGI kompatibel wird... 2006-03-23T21:54:18 >>> google = URI('http://www.google.com/') 2006-03-23T21:54:19 >>> type(google) 2006-03-23T21:54:20 2006-03-23T21:54:22 >>> type(google.ip) 2006-03-23T21:54:24 2006-03-23T21:55:32 :-) 2006-03-23T21:55:39 back 2006-03-23T21:55:43 wb birkenfeld :) 2006-03-23T21:56:13 birkenfeld: die sache mit dem @decorator vergessen wir lieber, der ist zu langsam und kann nicht mit **kwargs umgehen :( 2006-03-23T21:56:43 okay 2006-03-23T22:07:59 so. ich bin schlafen 2006-03-23T22:08:05 wünsche eine geruhsame nacht 2006-03-23T22:08:08 ebenso 2006-03-23T22:08:13 gleichfalls 2006-03-23T23:18:12 ebenso 2006-03-23T23:18:29 gute Nacht 2006-03-23T23:18:49 tabellar: ich verwechsel immer das Fenster hier mit dem Xterm :) 2006-03-23T23:19:11 :) 2006-03-23T23:52:29 *** tux123 has quit IRC 2006-03-23T23:58:59 *** tabellar has quit IRC