2006-03-30T01:14:11 *** tux123 has quit IRC 2006-03-30T07:29:58 *** jedie has joined #pocoo 2006-03-30T07:30:19 mitsuhiko: Da? 2006-03-30T14:03:10 *** birkenfeld has joined #pocoo 2006-03-30T15:31:47 *** dejot has joined #pocoo 2006-03-30T15:36:45 moin birkenfeld 2006-03-30T15:55:21 mitsuhiko: hi 2006-03-30T15:55:43 mitsuhiko: Also wenn ich versuche im jinja context unicode zu übergeben geht das schief... 2006-03-30T15:58:26 'ascii' codec can't decode byte 0xc3 in position 21: ordinal not in range(128) /daten/www/PyDown/PyDown/jinja/base.py in render, line 112 2006-03-30T16:00:46 mitsuhiko: Das geht wohl auch noch nicht in jinja-0.6 2006-03-30T16:02:06 jedie: charset argument angegeben? 2006-03-30T16:02:21 jup.. Ich hab gerade mal auf den trunk gewechselt... 2006-03-30T16:03:27 mitsuhiko: trunk ist broken??? 2006-03-30T16:03:28 File "/daten/www/PyDown/PyDown/jinja/nodes.py", line 79, in resolve return resolve_variable(self._name, context) File "/daten/www/PyDown/PyDown/jinja/utils.py", line 45, in resolve_variable assert isinstance(path, unicode) AssertionError 2006-03-30T16:04:43 re 2006-03-30T16:04:47 moin birkenfeld 2006-03-30T16:04:51 moin 2006-03-30T16:04:53 * mitsuhiko ist leider krank und wird auch gleich wieder weg sein 2006-03-30T16:05:20 jedie: was ist deine eingabe? 2006-03-30T16:05:33 mitsuhiko: gute besserung. hast du die vogelgrippe? ;) 2006-03-30T16:05:39 rofl. ney :) 2006-03-30T16:06:25 birkenfeld: OK, ist kein unicode sondern normalen string... Müßen alle context-Teile dann unicode sein? 2006-03-30T16:07:02 jedie: sowohl das Template als auch der Context haben ein eigenes Charset 2006-03-30T16:07:09 birkenfeld: das ist ein bug 2006-03-30T16:07:13 assert isinstance(path, unicode) 2006-03-30T16:07:17 zumindest ungewohnt :) 2006-03-30T16:07:30 path darf nehm ich mal an auch str sein 2006-03-30T16:08:11 also ist der trunk broken? 2006-03-30T16:08:12 http://trac.pocoo.org/browser/jinja/trunk/jinja/utils.py#L45 2006-03-30T16:08:23 hm... das argument kommt aus dem template, sollte also schon unicode sein 2006-03-30T16:08:33 jedie: gibst du dem Context ein Charset? 2006-03-30T16:08:38 birkenfeld: aber variablen pfad kann auch string sein 2006-03-30T16:09:04 birkenfeld: Wie kann ich dem context ein charset "geben" ? 2006-03-30T16:09:15 achso, ney 2006-03-30T16:09:17 stimmt schon 2006-03-30T16:09:22 der context wird ja auf unicode umgebogen 2006-03-30T16:09:24 ah sehe 2006-03-30T16:09:33 jedie: Context({}, charset='utf-8') 2006-03-30T16:09:59 jup, hab ich gemacht... selbe fehler... 2006-03-30T16:10:27 path ist ein normaler String... 2006-03-30T16:10:44 birkenfeld: was spricht dagegen das gegen assert isinstance(path, basestirng) auszutauschen? 2006-03-30T16:11:23 mitsuhiko: naja, es gibt wieder encoding probleme 2006-03-30T16:11:29 birkenfeld: für den path? 2006-03-30T16:11:43 der wird ja nach der verwendung wieder verworfen 2006-03-30T16:11:52 das ist nur das {{ this.is.a.long.variable.path }} 2006-03-30T16:12:13 --> {'this': {'is': {'a': {'long': {'variable': {'path': "BLUB"}}}}}} 2006-03-30T16:12:44 .oO(wobei der eigentlich unicode sein müsste) 2006-03-30T16:13:10 das template sollte beim parsen bereits unicode sein 2006-03-30T16:14:46 jedie: hast du dem Loader ein charset übergeben? 2006-03-30T16:14:52 jup 2006-03-30T16:15:05 mom 2006-03-30T16:15:31 jetzt geht garnixmehr... leere seite... mom 2006-03-30T16:16:15 selber Fehler... 2006-03-30T16:17:02 jedie: welchen loader verwendest du? 2006-03-30T16:17:15 jedie: kannst du das template ohne context rendern? 2006-03-30T16:17:23 den cached.. 2006-03-30T16:17:31 kann ich testen 2006-03-30T16:17:35 jedie: lösch mal die gecachten dateien 2006-03-30T16:18:08 hm! 2006-03-30T16:18:09 Could not decode template 'templates/Browser_base.html': 'utf8' codec can't decode bytes in position 55-58: invalid data 2006-03-30T16:18:24 jedie: dein template ist nicht utf-8 2006-03-30T16:18:59 stimmt! 2006-03-30T16:19:49 extends has to be first in template 2006-03-30T16:19:57 ich denke das könnte am BOM liegen, oder? 2006-03-30T16:20:05 fügt IMHO SciTE ein... 2006-03-30T16:20:33 jup, ist ein BOM Tag drin in der Datei :( 2006-03-30T16:20:45 wäre es nicht besser den auch auszuwerten? 2006-03-30T16:21:04 BOM ist Blödsinn 2006-03-30T16:22:30 von MS einfach mal so eingeführt, ohne sich um Standards zu kümmern 2006-03-30T16:22:34 Ah: Scite / File / Encoding -> "UTF-8 Cookie": dann hat die Datei keinen BOM... 2006-03-30T16:23:29 so, nun hab ich wieder eine leere Seite :( 2006-03-30T16:23:45 (also für UTF-8) 2006-03-30T16:23:58 mit context = {} geht's aber! 2006-03-30T16:26:19 Ein self.request.echo(template.render(context)) bringt: 2006-03-30T16:26:20 ascii' codec can't encode character u'\ufffd' in position 1957: ordinal not in range(128) /daten/www/PyDown/PyDown/colubrid/request.py in echo, line 96 2006-03-30T16:27:29 allerdings sehe ich in der debug-Ausgabe von colubrid, das anscheinend der context im template sitzt... 2006-03-30T16:28:06 mom! 2006-03-30T16:28:29 jedie: der fehler in echo() liegt an echo() selbst 2006-03-30T16:28:38 da echo() nur str(arg) macht 2006-03-30T16:29:23 stimmt 2006-03-30T16:30:25 Aha! 2006-03-30T16:30:35 context = {'username': 'test!'} 2006-03-30T16:30:36 ist ok 2006-03-30T16:30:38 context = {u'username': u'test!'} 2006-03-30T16:30:41 ist ok# 2006-03-30T16:30:48 context = {u'username': u'äöüß'} 2006-03-30T16:30:54 leere Seite! 2006-03-30T16:31:40 Offensichtlich bei template.render()... Gibt's da auch ein charset? 2006-03-30T16:31:54 nö 2006-03-30T16:32:11 was macht dein template mit "username"? nur ausgeben? 2006-03-30T16:32:31 Ist ein jinja feld... Der username wird ausgegeben... 2006-03-30T16:33:41 kein filter? 2006-03-30T16:33:46 mom 2006-03-30T16:33:59 nein 2006-03-30T16:34:05 {{ username }} 2006-03-30T16:34:22 ok, ich glaub ich habs 2006-03-30T16:35:21 nö, doch nicht :-| 2006-03-30T16:35:50 hast du kein traceback? 2006-03-30T16:35:52 gibts da keine unittests für? 2006-03-30T16:36:22 ok 2006-03-30T16:36:25 http://connect.microsoft.com/Styles/GeneralStyles.css 2006-03-30T16:36:26 xorAxAx: wenn du welche schreibst... ;) 2006-03-30T16:36:27 ich mein: mom 2006-03-30T16:36:30 xorAxAx: einen :) 2006-03-30T16:36:36 birkenfeld: nö :) 2006-03-30T16:36:54 ich hab mir vorgenommen, nicht mehr an projekten mitzuarbeiten, wo unittests unerwünscht sind :) 2006-03-30T16:37:22 mitsuhiko: ja? 2006-03-30T16:37:25 xorAxAx: sie sind ja erwünscht 2006-03-30T16:37:26 xorAxAx: dann dürftest du kein php entwickler sein 2006-03-30T16:37:27 birkenfeld: ja 2006-03-30T16:37:37 birkenfeld: Ich hab ja keinen Traceback.. Hab eine leere Seite... Ich schau mal in die apache.log 2006-03-30T16:37:47 birkenfeld: http://trac.pocoo.org/browser/jinja/trunk/unittests/tec :-) 2006-03-30T16:38:04 mitsuhiko: ich habe noch nie an php mitgearbeitet 2006-03-30T16:38:12 xorAxAx: auch nicht an php projekten? 2006-03-30T16:38:18 birkenfeld: dann hätte pocoo schon welche :) 2006-03-30T16:38:23 mitsuhiko: du hast mich missverstanden :) 2006-03-30T16:38:26 xorAxAx: pocoo hat schon einige 2006-03-30T16:38:30 xorAxAx: pocoo hat welche 2006-03-30T16:38:38 ja, aber keine für die ganzen unicode bugs :) 2006-03-30T16:38:47 xorAxAx: die sind in Jinja 2006-03-30T16:38:51 birkenfeld: http://wiki.python.de/Paste/106 2006-03-30T16:38:55 birkenfeld: meine ich doch 2006-03-30T16:39:07 xorAxAx: einen unicode test gibt es 2006-03-30T16:39:12 aber der funktioniert irgendwie 2006-03-30T16:39:22 .oO(zu dem geposteten link: man beachte die url ^^) 2006-03-30T16:39:23 UnicodeEncodeError bei sys.stdout.write(data) 2006-03-30T16:39:26 xorAxAx, mitsuhiko : ach ne, der ist in Colubrid 2006-03-30T16:39:40 birkenfeld: der bug oder der unittest? 2006-03-30T16:39:46 der bug 2006-03-30T16:40:09 jedie: was für eine colubrid version ist das? 2006-03-30T16:40:27 Ah! Gutes Stichwort! 2006-03-30T16:40:41 mitsuhiko: jedenfalls eine alte, wenn noch ein server drin ist 2006-03-30T16:40:48 tags/colubrid-0.9.1 2006-03-30T16:40:58 birkenfeld: die hatte doch schon unicode support 2006-03-30T16:41:19 die 0.9.1 soweit ich weiß schon 2006-03-30T16:41:27 Ich wollte eigentlich nicht mehr direkt den trunk nehmen, falls der mal broken ist 2006-03-30T16:41:28 die im trunk hat schon das neue request/response system 2006-03-30T16:41:40 jedie: der trunk ist vor allem schon das neue system 2006-03-30T16:41:42 mitsuhiko: wer könnte es wissen, wenn nicht du? :) 2006-03-30T16:42:03 xorAxAx: birkenfeld :) er hat die unicode unterstützung eingebaut afaik 2006-03-30T16:42:08 mitsuhiko: Naja, ich könnte es ja umbauen... Wie groß sind die änderungen? 2006-03-30T16:42:18 mitsuhiko: aber du bist der release manager :) 2006-03-30T16:42:44 mitsuhiko: nur in Jinja 2006-03-30T16:42:47 jedie: wenn du das alte verhalten willst musst du nur was in der __init__ einsetzten 2006-03-30T16:42:52 mitsuhiko: mit Unicode ./. COlubrid hab ich nix zu tun 2006-03-30T16:42:57 argh. stimmt. das war ich 2006-03-30T16:43:08 mitsuhiko: Nur: will ich das? 2006-03-30T16:43:19 mitsuhiko: Wo liegt der Unterschied zwischen alt und neu? 2006-03-30T16:43:32 neu war mehr WSGI kompatibel oder? 2006-03-30T16:44:49 tjo 2006-03-30T16:44:58 mitsuhiko: hehe :) 2006-03-30T16:45:04 jedie: der unterschied ist, dass colubrid jetzt keinen internen server mehr hat, sondern den von paste nutzt 2006-03-30T16:45:09 das war punkt eins :) 2006-03-30T16:45:18 --> http://trac.pocoo.org/wiki/RethinkRequest 2006-03-30T16:45:22 Gibt's irgendwo eine "change"? 2006-03-30T16:45:29 changelog 2006-03-30T16:45:31 jedie: ich bin am schreiben 2006-03-30T16:45:36 :) 2006-03-30T16:45:37 ist ja noch nicht stable der trunk :) 2006-03-30T16:45:48 hm! Das ist doof... 2006-03-30T16:45:56 jedie: es wurde request und response in zwei teile geteilt 2006-03-30T16:45:59 das heißt kein request.write mehr 2006-03-30T16:46:18 wenn man das aber haben will kann man das alte request objekt wiederhaben :) 2006-03-30T16:46:46 Was gibt's statt request.write() ??? 2006-03-30T16:46:54 jedie: return 2006-03-30T16:47:08 jedie: return HttpResponse('Hello World') 2006-03-30T16:47:09 hm 2006-03-30T16:47:34 Ich nutzte request.write() gern beim programmieren... Für "Zwischen-Ausgaben"... 2006-03-30T16:47:48 jedie: resp = HttpResponse(); resp.write("Hello World"); return resp 2006-03-30T16:48:06 jedie: für zwischenausgaben gibts für mich immer sys.stderr :) 2006-03-30T16:48:11 Aber im Grunde gibt es nur einmal ein jinja-rendern... 2006-03-30T16:48:17 auch nicht schlecht!" 2006-03-30T16:48:36 mitsuhiko: OK... Läuft der aktuelle trunk denn so halbwegs? 2006-03-30T16:48:54 jedie: fehlerfrei 2006-03-30T16:49:11 er sollte eigentlich jetzt bald released werden, ich schreib nur noch unittests und pass die doku und hp an 2006-03-30T16:49:25 OK... Dann versuche ich es mal... 2006-03-30T16:49:50 jedie: der trypy code nutzt bereits die neue version, vielleicht hiflt dir das fürs erste 2006-03-30T16:50:18 und hier ist die neue dokumentation: http://trac.pocoo.org/browser/colubrid/webpage/documentation 2006-03-30T16:50:24 bzw das, was bis jetzt fertiggestellt wurde 2006-03-30T16:51:01 mitsuhiko: Ich hab eine RegexApplication 2006-03-30T16:51:29 trypy auch :) 2006-03-30T16:51:41 das trifft sich gut! 2006-03-30T16:52:09 jedie: sicher dir aber den cgiserver vorher, der ist momentan nicht im repo 2006-03-30T16:53:15 mitsuhiko: Das ist ja doof... Kannst du den nicht reinmachen? 2006-03-30T16:53:28 jedie: der kommt wieder, wird aber überarbeitet 2006-03-30T16:53:57 aber nicht direkt in colubrid rein 2006-03-30T16:54:02 Hm... Vielleicht lasse ich das dann doch besser erstmal bleiben... 2006-03-30T16:54:18 jedie: kannst ja den cgiserver aus dem pep nehmen 2006-03-30T16:54:53 jedie: http://archive-www.python.org/peps/pep-0333.html#the-server-gateway-side 2006-03-30T16:55:24 statisches anbieten der daten steckt in colubrid.server.StaticExports 2006-03-30T16:55:27 als middleware 2006-03-30T16:55:41 momenten wird eben alles auf maximale wsgi compatibilität getrimmt 2006-03-30T16:56:16 Ne, ich glaub ich bau meine PyDown Version erst um... Dann mach ich einen neuen Branch und teste damit das neue colubrid 2006-03-30T17:03:46 birkenfeld, mitsuhiko: Wann gibt's denn ein neuen tag bei jinja? 2006-03-30T17:04:04 jedie: zusammen mit colubrid 1.0 :) 2006-03-30T17:04:15 und das ist, wenn ich die docs fertig hab und die unittests auch 2006-03-30T17:06:55 mitsuhiko: OK... Dann markiere ich direkt die aktuelle Rev. ;) 2006-03-30T17:07:06 Nun mach ich es einfach so: 2006-03-30T17:07:20 content = template.render(context) 2006-03-30T17:07:21 self.request.write(content) 2006-03-30T17:07:25 :) 2006-03-30T17:07:31 :) 2006-03-30T17:09:52 sodale. jetzt bin ich aber wieder weg 2006-03-30T17:10:07 mitsuhiko: Gute besserung! 2006-03-30T17:10:41 thx 2006-03-30T17:11:11 irgendwie geht der CachedFileSystemLoader nicht... 2006-03-30T17:11:18 EOFError 2006-03-30T17:11:28 nodelist = pickle.load(file(cache_name, 'rb')) 2006-03-30T17:48:56 *** jedie has quit IRC 2006-03-30T18:26:44 *** tux123 has joined #pocoo 2006-03-30T18:46:35 re für einige zeit 2006-03-30T19:18:58 hey mitsuhiko 2006-03-30T19:19:07 hiho birkenfeld 2006-03-30T19:20:30 wie machen wirs denn mit der pocoo doku? 2006-03-30T19:20:45 du meinst endanwender? 2006-03-30T19:21:00 und plugin-entwickler 2006-03-30T19:21:35 also für die plugin entwickler hab ich mir in erster linie saubere docstrings schreiben und dann epydoc drüber laufen lassen 2006-03-30T19:21:39 +gedacht 2006-03-30T19:21:58 aber ich hätt auch nix gegen rest files :) 2006-03-30T19:22:46 man könnte auch direkt aus dem wiki generieren 2006-03-30T19:22:56 oder aber im wiki rest schreiben und trac anpassen 2006-03-30T19:23:03 trac kann rest rendern 2006-03-30T19:23:10 ah, wunderbar 2006-03-30T19:24:11 birkenfeld: http://trac.pocoo.org/wiki/RestTest 2006-03-30T19:24:29 perfekt 2006-03-30T19:24:30 einziges problem ist, dass sich rest im browser nicht so gut tippen lässt wegen den einrückungen bei code blöcken 2006-03-30T19:25:40 hm 2006-03-30T19:26:27 evtl könnte man es auch so wie bei jinja machen: http://trac.pocoo.org/browser/jinja/trunk/docs/source/index.txt 2006-03-30T19:26:48 da liegen die rst files einfach so im repo und das trac rendert die. zusätzlich gibts dann noch ein generate.py das downloadbare .htmls erstellt 2006-03-30T19:28:21 das wäre eigentlich auch einfach, stimmt 2006-03-30T19:28:52 dann wäre das wiki reines brainstorming und sowas, die docs schreiben wir ins repo 2006-03-30T19:29:10 klingt sinnvoll 2006-03-30T19:29:12 +konjunktiv 2006-03-30T19:29:22 klänge sinnvoll 2006-03-30T19:29:31 ^^ 2006-03-30T19:34:45 birkenfeld: wegen dem anonymen user 2006-03-30T19:34:53 ja? 2006-03-30T19:35:01 ich glaub ich habs schon so geplant 2006-03-30T19:35:10 dann könnte man da drin die user settings für den abspeichern 2006-03-30T19:36:09 ja 2006-03-30T19:37:31 birkenfeld: ist schon eine antwort auf die trypy mail gekommen? 2006-03-30T19:37:38 nö -.- 2006-03-30T19:40:48 * mitsuhiko ist jetzt erstmal wieder weg 2006-03-30T19:56:26 *** tux123 has left #pocoo 2006-03-30T19:57:20 *** tux123 has joined #pocoo 2006-03-30T21:00:55 *** tux123 has left #pocoo 2006-03-30T22:05:09 *** dejot_ has joined #pocoo 2006-03-30T22:14:59 *** dejot__ has joined #pocoo 2006-03-30T22:18:52 *** dejot has quit IRC 2006-03-30T22:30:55 *** dejot_ has quit IRC 2006-03-30T22:50:39 *** dejot_ has joined #pocoo 2006-03-30T22:50:46 *** dejot__ has quit IRC 2006-03-30T23:17:09 *** dejot_ has quit IRC 2006-03-30T23:38:06 *** birkenfeld has quit IRC