2006-03-29T08:07:09 *** jedie has joined #pocoo 2006-03-29T08:11:17 --> http://trac.pocoo.org/ticket/33901 (not existing) 2006-03-29T09:00:48 *** ChanServ has quit IRC 2006-03-29T09:01:11 *** irc.freenode.net sets mode: +o ChanServ 2006-03-29T14:05:38 jedie: pong 2006-03-29T14:05:45 jup 2006-03-29T14:05:52 konnte ich helfen? 2006-03-29T14:06:01 Hab dir zurück geschrieben... 2006-03-29T14:06:09 --> http://trac.pocoo.org/ticket/33912 (not existing) 2006-03-29T14:07:00 sehs gerade 2006-03-29T14:07:07 tjo. das geht leider nicht 2006-03-29T14:07:13 blöcke funktionieren in beide richtungen 2006-03-29T14:07:14 Ist etwas anderes als du gemacht hast... 2006-03-29T14:07:49 ich schreib mal was dazu 2006-03-29T14:07:51 Ich suche also quasi ein "ImportBlock" Funktion 2006-03-29T14:08:23 mitsuhiko: Sowas, wie die Apache-Config-Files... Dort wird ja auch mit import's gearbeitet... 2006-03-29T14:08:39 Das ganze kann ja komplett vor der verarbeitung des Templates passieren... 2006-03-29T14:08:49 Vielleicht vom loader... 2006-03-29T14:09:41 moment :) 2006-03-29T14:09:44 ich tippe noch 2006-03-29T14:09:50 jedie: die inheritance läuft ja auch im loader ab 2006-03-29T14:12:17 jedie: hab geantwortet 2006-03-29T14:13:01 include? 2006-03-29T14:13:19 jedie: was ist mit include? 2006-03-29T14:13:21 noch undokumentiert? 2006-03-29T14:13:52 mitsuhiko: Dein Server gerade platt? 2006-03-29T14:13:53 ney 2006-03-29T14:13:57 weder noch 2006-03-29T14:14:11 server geht, sonst wär ich nicht online, und {% include %} ist dokumentiert 2006-03-29T14:14:15 komm nicht drauf.. 2006-03-29T14:14:33 argh. ney 2006-03-29T14:14:36 nicht dokumentiert 2006-03-29T14:14:52 {% include %} wurde erst mit der SVN version stable 2006-03-29T14:14:55 ich bin gerade am docs updaten 2006-03-29T14:15:09 http://wsgiarea.pocoo.org ist tot 2006-03-29T14:17:27 nö 2006-03-29T14:17:29 geht hier 2006-03-29T14:18:02 ping pocoo.org läuft in's leere... Komisch 2006-03-29T14:18:22 jedie: von frankreich und de alles in ordnung hier 2006-03-29T14:18:24 mitsuhiko: Hast du gerad mal die IP? 2006-03-29T14:18:39 jedie: 217.160.209.12 2006-03-29T14:18:55 jup, die geht 2006-03-29T14:19:12 offensichtlich ein DNS Problem :( 2006-03-29T14:19:22 google möchte nun auch nicht mehr... 2006-03-29T14:19:54 heise geht aber noch... Komisch... 2006-03-29T14:21:48 Kann es sein, das self.request.send_response() immer eine Exception auslöst, wenn fertig ist? 2006-03-29T14:22:07 jedie: jup 2006-03-29T14:22:12 aber nicht mehr mit der neuen version (SVN) 2006-03-29T14:22:15 aber die ist noch nicht stable 2006-03-29T14:22:19 bzw nicht kompatibel mit der alten 2006-03-29T14:22:22 ich arbeite noch dran 2006-03-29T14:22:32 Ah, ok... Ich wundere mich schon... 2006-03-29T14:22:33 bzw wir, birkenfeld hat auch schon eniges dran gewerklt 2006-03-29T14:22:43 jedie: es wirft ein RequestBreak 2006-03-29T14:22:48 aber das gibts mit der neuen version nicht mehr 2006-03-29T14:22:49 Hm... Was kann ich dann tun, außer except Exception, e: 2006-03-29T14:22:58 try: 2006-03-29T14:22:59 s() 2006-03-29T14:23:02 except RequestBreak: 2006-03-29T14:23:03 pass 2006-03-29T14:23:08 except Exception, e: 2006-03-29T14:23:09 ... 2006-03-29T14:23:20 Ah, ok. Wollte ich gerade auch schreiben ;) 2006-03-29T14:23:36 Mit der neuen Version wird das aber dann hinfällig??? 2006-03-29T14:23:48 wenn du was try exceptest musst du das im iterator machen 2006-03-29T14:24:01 weil ab den momentn verlässt dein iterator colubrid und werkelt im wsgi server weiter 2006-03-29T14:24:28 --> http://trac.pocoo.org/ticket/31905 (not existing) 2006-03-29T14:25:01 jedie: ein iterator kann keine fehler werfen 2006-03-29T14:25:04 zumindest nicht in wsgi 2006-03-29T14:25:06 mitsuhiko: Genau das hab ich auch festgestellt... Weil wegen fileobj.close() der irgendwie "zufüh" ausgeführt wird... 2006-03-29T14:25:43 Also ich wollte sicherstellen, das das fileObject immer closed wird... 2006-03-29T14:25:54 Mit try...finally wurde das auch nix... 2006-03-29T14:26:16 jedie: mach doch selber einen iter mit einer close methode 2006-03-29T14:26:36 hm. 2006-03-29T14:27:01 ich mach mal ein beispiel 2006-03-29T14:27:06 --> http://trac.pocoo.org/ticket/31905 (not existing) 2006-03-29T14:27:56 Im Beispiel ist zwar buffer = StringIO.StringIO() aber in meiner aktuellen Version ist es ein NamedTemporaryFile()... 2006-03-29T14:28:15 Wenn das kein close() bekommt, bleibt die TEMP-Datei vorhanden :( 2006-03-29T14:29:15 jedie: http://pocoo.pastebin.com/628602 2006-03-29T14:29:17 und dann machst du 2006-03-29T14:29:25 self.request.send_response(FileIter(mybuffer)) 2006-03-29T14:30:41 fuck: Der Server unter pocoo.pastebin.com konnte nicht gefunden werden. 2006-03-29T14:31:43 Mist... Ich glaub es liegt an meinem DSL-Router... 2006-03-29T14:32:03 der reagiert nicht mehr auf Pings... komisch... ich schau mal vom anderen Rechner... mom 2006-03-29T14:33:46 mitsuhiko: Jup... Muß mal meinen Router resetten... dauert eine weile... 2006-03-29T14:37:54 *** jedi1 has joined #pocoo 2006-03-29T14:38:18 nun geht's... komisch komisch... 2006-03-29T14:46:35 mitsuhiko: Warum benutzt du im Beispiel self._buffer und nicht self.buffer 2006-03-29T14:46:42 Nur zur markierung? 2006-03-29T14:46:50 jedi1: weil private attribute nach pep8 ein "_" prefix haben 2006-03-29T14:46:58 OK 2006-03-29T14:55:08 *** jedie has quit IRC 2006-03-29T14:55:37 *** jedi1 is now known as jedie 2006-03-29T14:58:16 mitsuhiko: Ich kann dennoch nicht das machen: 2006-03-29T14:58:17 finally: 2006-03-29T14:58:19 fileObject.close() 2006-03-29T14:58:29 das geht auch nicht 2006-03-29T14:58:40 es wird nie einen fehler da drin geben 2006-03-29T14:58:45 das liegt an der natur der iteratoren :) 2006-03-29T14:58:50 Also das Problem ist folgendes... 2006-03-29T14:58:53 send_response funktioniert immer 2006-03-29T14:59:00 dafür sieht wsgi ja die close methode vor 2006-03-29T14:59:04 die wird automatisch aufgerufen 2006-03-29T14:59:05 immer 2006-03-29T14:59:34 ich erzeuge ja eine Temp-Datei... Die wird auch eigentlich immer gelöscht... Nur nicht dann, wenn der Client den Download abbricht... Dann bleibt die übrig... 2006-03-29T15:00:08 Eine Lösung also, das Temp-File-Object an das request obj. hängen und bei wsgi-close schließen??? 2006-03-29T15:00:50 wenn ein file() iter eine close methode hat geht das 2006-03-29T15:00:58 dein iter muss halt eine close methode haben, sonst geht das nicht 2006-03-29T15:01:43 mitsuhiko: Ich hab ja deine file-Iter genommen... Ich probiere das mal... 2006-03-29T15:03:02 mitsuhiko: Wie war das noch, on_close() ? 2006-03-29T15:03:16 nein. close() 2006-03-29T15:03:19 das ist wsgi 2006-03-29T15:03:21 nicht colubrid 2006-03-29T15:03:31 ich hab ja schon ein code snippet gepostet 2006-03-29T15:05:42 mitsuhiko: Hm... Schade geht nicht... Die Temp-Datei ist immer noch da... Aber wie gesagt, nur wenn der Client den laufenden Download abbricht... Kann es sein, das Apache das CGI in dem Fall einfach killt??? 2006-03-29T15:08:18 k.A. 2006-03-29T15:08:32 es ist sowieso nicht garantiert, dass der prozess überlebt 2006-03-29T15:08:35 server restarts... 2006-03-29T15:08:46 ich würde einfach die files nach einer zeit mit os.readdir tilten 2006-03-29T15:08:48 s/read/list/ 2006-03-29T15:09:06 stimmt... Muß ich mal irgendwann einbauen ;) 2006-03-29T15:10:42 * jedie muß weg 2006-03-29T15:10:45 :8 2006-03-29T15:10:50 :( 2006-03-29T15:13:16 *** jedie is now known as mu 2006-03-29T16:18:01 *** birkenfeld has joined #pocoo 2006-03-29T16:18:24 moin birkenfeld 2006-03-29T16:24:25 moin 2006-03-29T16:28:39 sodale 2006-03-29T16:28:44 jinja docs upgedated 2006-03-29T16:29:23 ich muss mir mal ein release.sh skript schreiben, dass den Kästeshop updated, die version taggt und alle möglichen builds anfertigt :-/ 2006-03-29T16:37:34 .sh? 2006-03-29T16:37:41 * xorAxAx slaps mitsuhiko with a .py extension 2006-03-29T16:37:59 xorAxAx: pa. windows user 2006-03-29T16:38:05 seit wan spielen dateiendungen hier eine rolle 2006-03-29T16:38:17 genau, pack python code in die .sh datei :) 2006-03-29T16:39:24 ich wollte damit nur sagen, dass ich ein ShellSkript haben will :) 2006-03-29T16:44:06 mitsuhiko: ihhh! 2006-03-29T16:44:12 nicht jede plattform hat eine posixshell! 2006-03-29T16:44:22 xorAxAx: http://blog.ianbicking.org/dvcs-mini-roundup.html 2006-03-29T16:44:31 urgs, ian 2006-03-29T16:45:01 " It also has one of the easiest commands to type, hg (the chemical symbol for mercury)." 2006-03-29T16:45:04 ROTFL 2006-03-29T16:45:17 " I don't know more about it." 2006-03-29T16:45:28 " It has a lineage from Arch (which itself has been written in several languages), starting with UI enhancements and then a more signficant rewrite." -- falsch 2006-03-29T16:45:46 args, ian nervt 2006-03-29T16:47:43 xorAxAx: nervt nicht, er hat nur ein großes ego 2006-03-29T16:47:52 aber alles was er angreift wird benutzt 2006-03-29T16:48:02 naja, er schreibt nur mist 2006-03-29T16:48:10 "ich habe folgendes schonmal oberflächlich gehört: ..." 2006-03-29T16:48:26 xorAxAx: ich habs ihm im irc channel gesagt 2006-03-29T16:48:40 hehe 2006-03-29T16:48:45 also die infos, die er von hg hat 2006-03-29T16:48:53 LOL 2006-03-29T16:49:10 also ist ian ein typisches blog-arsch - mit wenig aufwand viel traffic 2006-03-29T16:49:29 xorAxAx: aber seine libs sind eigentlich ganz in ordnung 2006-03-29T16:49:46 kann sein 2006-03-29T16:50:24 btw 2006-03-29T16:50:31 xorAxAx: hast du schonmal den darcs sourcecode angesehen? 2006-03-29T16:50:33 absolut krank 2006-03-29T16:50:41 da soll noch einer sagen haskell sei leserlich 2006-03-29T16:50:52 nein, habe ich nicht 2006-03-29T16:51:02 xorAxAx: kostprobe gefällig? 2006-03-29T16:51:07 ich traue mich aber auch nicht, das ohne haskell-erfahrungen zu beurteilen 2006-03-29T16:51:08 jo 2006-03-29T16:51:47 http://www.abridgegame.org/repos/darcs-unstable/DarcsCommands.lhs 2006-03-29T16:52:12 xorAxAx: und nein, das ist nicht die dokumentation zum programm 2006-03-29T16:52:18 das ist das modul, das die commandlines handled 2006-03-29T16:52:29 geil, weblike kommentiert 2006-03-29T16:52:31 und ja, das ist LaTeX Oo 2006-03-29T16:53:35 xorAxAx: wenn du schnell bist kannst du den ubuntu-users-server-reset-menschen sehen 2006-03-29T16:53:46 das ist der, der für uns den reset knopf bei redbus für einige stunden nicht gefunden hat 2006-03-29T16:53:49 http://clem.plouc.net/photos/06-03-29-Redbus-Crepes/im000012.jpg 2006-03-29T16:54:18 mitsuhiko: der sieht so aus als ob er einiges anderes auch nicht findet 2006-03-29T16:55:12 LOL, der ist admin? 2006-03-29T16:55:44 der ist bestimmt auch MCSE 2006-03-29T16:55:57 xorAxAx: redbus scherge 2006-03-29T16:56:17 redbus heißt der provider? 2006-03-29T16:56:36 "redbus - the only data center having problems with the power suply!!!!!!1111111" 2006-03-29T16:56:53 xorAxAx: http://www.ubuntuusers.de/ikhaya/119/ 2006-03-29T16:57:13 argh. falscher post 2006-03-29T16:57:25 der hier: http://www.ubuntuusers.de/ikhaya/115/ 2006-03-29T16:57:41 batterien waren leer, wir hatten einen DIESELGENERATOR!!!! 2006-03-29T16:57:48 das ist stabile USV 2006-03-29T16:57:50 11111 2006-03-29T16:58:09 xorAxAx: wir brauchen dann auch einen Pressesprecher :) 2006-03-29T16:58:17 lol 2006-03-29T17:00:33 * mitsuhiko geht vim7 kompilieren 2006-03-29T17:03:05 JEZZZ 2006-03-29T17:03:14 why did python.org change they're page style? why? 2006-03-29T17:03:17 p0wnd 2006-03-29T17:03:32 am liebsten würde ich jeden dieser sätze Beta Tim mit karacho ins gesicht werfen 2006-03-29T17:05:14 birkenfeld: joa 2006-03-29T17:38:11 *** tux123 has joined #pocoo 2006-03-29T19:08:08 birkenfeld: ping :) 2006-03-29T19:08:14 mitsuhiko: pong 2006-03-29T19:08:20 wundervoll :) 2006-03-29T19:08:27 hehe 2006-03-29T19:08:34 birkenfeld: wie meldet man einen user an? 2006-03-29T19:08:53 mit /login? 2006-03-29T19:09:09 argh. moment 2006-03-29T19:09:16 sowas einfaches teste ich mal wieder nicht 2006-03-29T19:09:35 mitsuhiko: äh, das geht noch nicht 2006-03-29T19:09:39 achso 2006-03-29T19:09:50 ney, ich mein jetzt codemäßig :) 2006-03-29T19:10:56 mitsuhiko: naja, wenn /login POST-Daten kriegt und user=x und pw=y dann kriegt er halt ne session mit seiner user_id 2006-03-29T19:11:57 also so eine funktion login(username, password) gibts nicht 2006-03-29T19:12:27 noch nicht 2006-03-29T19:12:51 gut, dann mach ich da mal einen stub rein 2006-03-29T19:14:06 ach, ist mal wieder pocoo dran? 2006-03-29T19:14:55 birkenfeld: nicht nur mal wieder, sondern vorerst nur pocoo 2006-03-29T19:15:11 *g* 2006-03-29T19:15:15 wie war latein? 2006-03-29T19:15:25 mit TryPy bin ich fürs erste mal zufrieden und les mich jetzt mal jeden Abend tiefer in FreeBSD ein :) 2006-03-29T19:15:40 birkenfeld: ich hab einen satz komplett falsch übersetzt. das ist nix gut :( 2006-03-29T19:15:48 ja 2006-03-29T19:15:55 kommt drauf an wie lang der satz war... 2006-03-29T19:16:04 18 Wörter 2006-03-29T19:16:20 uiui 2006-03-29T19:16:26 ich weiß -.- 2006-03-29T19:16:36 alles nur, weil ich einen ablativus lusticus übersetzen hab 2006-03-29T19:18:42 ablativus was? 2006-03-29T19:19:06 birkenfeld: ablativus absolutus :) 2006-03-29T19:19:47 aha 2006-03-29T19:20:20 .oO(irgendwann schreib ich mir einen latein parser) 2006-03-29T19:21:50 mitsuhiko: als Diplomarbeit dann 2006-03-29T19:22:41 mitsuhiko: wie gefällt dir meine lösung für templates in packages? 2006-03-29T19:23:30 gut :) 2006-03-29T19:24:07 dann braucht man für template only packages nur noch eine __init__.py bereitstellen, die etwas von pocoo.templates importiert und automatisch ein template package draus macht 2006-03-29T19:25:41 ich liebe closures 2006-03-29T19:26:17 übrigens sollte man nicht mal eine __init__.py brauchen 2006-03-29T19:26:47 birkenfeld: naja. templates müssen auch irgendwie sagen wie sie heißen und von wem sie kommen 2006-03-29T19:26:54 oder eine package.ini einführen 2006-03-29T19:27:02 wieso? 2006-03-29T19:27:29 tjo. weils andere so machen ^^ 2006-03-29T19:27:53 da gibts dann meistens wo ein plugin "about plugins", das die plugins, entwickler und urls anzeigt 2006-03-29T20:34:58 birkenfeld: ping :) 2006-03-29T20:43:56 kann man den dev-server von pocoo schon starten? und wenn ja wie, weil wenn ich manage.py starte bekomm ich "ConfigurationError' is not defined" 2006-03-29T20:44:24 und wo konfiguriert man das? ;) 2006-03-29T20:44:49 tux123: gar nicht :) 2006-03-29T20:44:53 aktuell geht pocoo afaik nicht 2006-03-29T20:45:01 schade... 2006-03-29T20:45:07 * tux123 mag einmal was sehen :) 2006-03-29T20:45:30 tux123: kannst ja schaun wo der fehler ist, dann fix ich den 2006-03-29T20:47:10 mitsuhiko: in db.py muss glaub ich noch ConfigurationError importiert werden ;) 2006-03-29T20:48:20 jetzt bleibt es zumindest bei "pocoo.exceptions.MissingConfigValue: mandatory value database.uri not set" stehen, damit kann man schon mehr anfangen ;) 2006-03-29T20:48:54 haste recht 2006-03-29T20:52:17 und "python management.py createinstance" scheint auch noch nicht zu funktionieren, weil auch wenn ich einen pfad angebe bricht er ab und sagt, ich einen pfad angeben muss... ich glaub ich lass euch noch einwenig basteln bevor ich es teste 2006-03-29T20:52:33 tux123: es wird eine instance mitgeliefert :) 2006-03-29T20:52:43 python trunk/instance/manage.py runserver 2006-03-29T20:52:48 ok, mal schauen ;) 2006-03-29T20:56:44 und i18n.py wirft einmal die expetion 'LanguageMissing', die exeption heißt aber MissingLanguagePack (glaub ich zumindest). jetzt sehe ich wenigstens eine seite mit einem nicht-anzeigbaren captcha bild :) 2006-03-29T21:02:48 btw: wie leert man die datenbank? bzw. wo findet man die? ;) 2006-03-29T21:05:36 tux123: im arbeitsspeicher :) 2006-03-29T21:06:09 na toll... 2006-03-29T21:06:36 tux123: wieso toll? 2006-03-29T21:06:39 kannst es ja in der config ändenr 2006-03-29T21:07:14 tux123: mach mysql://username:password@localhost/mypocoo 2006-03-29T21:07:26 mitsuhiko: wenn man das (nicht anzeigbare) captcha bild einmal aufruft, schreibt es einen eintrag in die db und dann kann man die seite kein 2tes mal anschauen, ohne das man neustartet ;) 2006-03-29T21:07:51 das wär mir nue 2006-03-29T21:07:54 s/nue/neu/ 2006-03-29T21:08:52 mitsuhiko: wo soll ich das machen? *dau bin* 2006-03-29T21:08:59 tux123: wo liegt deine instance? 2006-03-29T21:09:03 da ist eine pocoo.conf drin 2006-03-29T21:09:06 die machst du auf :) 2006-03-29T21:09:12 und dann passt du den database_uri string an 2006-03-29T21:09:15 mitsuhiko: ah, ok :) 2006-03-29T21:09:41 achso. default ist gar nicht memory, sondern /tmp/test.db 2006-03-29T21:10:24 * tux123 hat jetzt einfach /tmp/test.db gelöscht ;) 2006-03-29T21:10:37 tux123: sqlite:///:memory: 2006-03-29T21:10:43 dann speichert der die db im RAM 2006-03-29T21:10:58 nein, in /tmp gefällts mir eh besser, da kann man es immer gleich löschen 2006-03-29T21:11:29 btw: wieso geht das captcha nicht? ;) 2006-03-29T21:11:47 tux123: du musst PIL installieren 2006-03-29T21:11:50 bei mir gehts 2006-03-29T21:12:07 sudo apt-get install python2.4-imaging oder sowas 2006-03-29T21:12:54 mitsuhiko: pong 2006-03-29T21:13:10 birkenfeld: wunderbar :) pocoo.pkg.core.reloader 2006-03-29T21:13:18 hmm, hab ich schon drauf. "" <-- was ist das für eine quellangabe? 2006-03-29T21:13:25 sofern das vertretbar ist bau ich das jetzt bei allen componetnen ein, die was von config verlangen und cachen 2006-03-29T21:13:42 tux123: gib einfach mal http://localhost:8080/!captcha 2006-03-29T21:13:49 dann müsstest du das sehen 2006-03-29T21:15:44 mitsuhiko: tu mir doch mal einen gefallen und schreib richtiges englisches Passiv ;) 2006-03-29T21:15:46 mitsuhiko: ok, aber wenn es in der seite eingebettet ist, scheint der firefox irgendwie mehrmals darauf zuzugreifen und dann kommt es zu so einem doppelten-db-eintrag-error ;) 2006-03-29T21:16:00 birkenfeld: tjo. den würde ich mir auch gerne machen :) 2006-03-29T21:16:04 aber das mit englisch hab ich noch nicht so raus 2006-03-29T21:16:15 ist ganz einfach 2006-03-29T21:16:23 to be + PPP 2006-03-29T21:16:24 nicht 2006-03-29T21:16:26 to get + PPP 2006-03-29T21:17:11 tjo 2006-03-29T21:17:25 mal sehen ob ich das das nächste mal besser hinbekomme 2006-03-29T21:17:48 fein :) 2006-03-29T21:18:34 gibts noch irgendwas zu testen? *g* ;) 2006-03-29T21:19:47 birkenfeld: und an template.py ist noch so einiges kaputt fürchte ich :) 2006-03-29T21:19:54 da werden extensionpoints an nicht componenten vergeben 2006-03-29T21:20:12 wie das? 2006-03-29T21:20:18 birkenfeld: das frag ich mich gerade 2006-03-29T21:20:35 fakt ist, dass PocooLoader ein object ist, aber einen ExtensionPoint hat :) 2006-03-29T21:20:50 und das Template ist auch von object abgeleitet und hat auch zwei extension points 2006-03-29T21:21:09 ich werd das mal ein wenig reparieren, sollte das nicht mittlerweile legal sein 2006-03-29T21:23:34 mitsuhiko: muss ein ExPoint in einem Component sein? 2006-03-29T21:23:52 birkenfeld: also nach meiner ersten api.py version schon 2006-03-29T21:23:58 ich weiß nicht ob du das mittlerweile geändert hast 2006-03-29T21:24:01 deswegen die frage :) 2006-03-29T21:24:14 ich wüsste spontan nicht wieso 2006-03-29T21:24:19 ich schau mal 2006-03-29T21:24:49 hm 2006-03-29T21:24:55 du hast recht 2006-03-29T21:25:03 ein extensionpoint kann überall kleben 2006-03-29T21:28:11 jo. dad funktioniert 2006-03-29T21:28:16 birkenfeld: war mein fehler. sorry 2006-03-29T21:28:29 np :) 2006-03-29T23:37:02 *** birkenfeld has quit IRC