2006-07-05T00:18:59 *** das-q has joined #pocoo 2006-07-05T00:41:47 *** das-q has quit IRC 2006-07-05T01:52:34 *** xStream has joined #pocoo 2006-07-05T01:56:11 *** birkenfeld has quit IRC 2006-07-05T02:18:57 *** xStream has quit IRC 2006-07-05T02:19:30 *** xStream has joined #pocoo 2006-07-05T03:17:46 *** xStream has quit IRC 2006-07-05T03:18:12 *** xStream has joined #pocoo 2006-07-05T09:56:40 *** birkenfeld has joined #pocoo 2006-07-05T11:13:56 *** MasterC has joined #pocoo 2006-07-05T11:39:43 *** dejot__ has quit IRC 2006-07-05T11:40:16 *** dejot__ has joined #pocoo 2006-07-05T11:54:31 *** MasterC has quit IRC 2006-07-05T11:55:36 *** MasterC has joined #pocoo 2006-07-05T12:52:36 Moin! 2006-07-05T14:05:15 *** MasterC_ has joined #pocoo 2006-07-05T15:33:30 *** MasterC_ has quit IRC 2006-07-05T15:59:27 *** birkenfeld has quit IRC 2006-07-05T16:00:02 *** birkenfeld has joined #pocoo 2006-07-05T16:14:56 re 2006-07-05T16:15:06 wb birkenfeld 2006-07-05T16:24:29 *** beewee has joined #pocoo 2006-07-05T16:24:34 moin jungs :D 2006-07-05T16:31:00 moin beewee 2006-07-05T16:32:16 tach ihr 2006-07-05T16:32:19 *** dejot__ is now known as dejot 2006-07-05T16:48:04 *** das-q has joined #pocoo 2006-07-05T16:51:37 *** das-q has quit IRC 2006-07-05T16:54:05 *** das-q has joined #pocoo 2006-07-05T17:16:01 *** Leonidas has joined #pocoo 2006-07-05T17:17:12 hi das-q, Leonidas 2006-07-05T17:17:19 hi 2006-07-05T17:17:24 hi :) 2006-07-05T17:19:05 mitsuhiko, ping 2006-07-05T17:24:37 *** MasterC has quit IRC 2006-07-05T17:30:47 *** xStream has quit IRC 2006-07-05T17:50:44 *** Leonidas has quit IRC 2006-07-05T17:53:23 @all: Weiß jemand was von mitsuhiko, hat der heut länger Schule oder sowas? 2006-07-05T17:57:40 re 2006-07-05T17:57:43 beewee: pong 2006-07-05T18:02:46 ah 2006-07-05T18:03:06 mitsuhiko, kannst du in jinja was zum vergleichen von variablen einbauen? also 2006-07-05T18:03:11 {% if abc == def %} 2006-07-05T18:03:18 oder {% if abc > def %} 2006-07-05T18:03:37 wär nämlich ganz nützlich und würde mir einen schleifendurchlauf sparen 2006-07-05T18:03:42 ich könnte dir != und == einbauen 2006-07-05T18:03:47 aber größer und kleiner lass ich weg 2006-07-05T18:03:58 {% if a equals b %} und {% if not a equals b %} 2006-07-05T18:04:20 "==" und "!=" gehen technisch gesehen noch nicht, da müsste ich den parser erweitern 2006-07-05T18:04:31 und größer und kleiner lass ich weg, weil ich einfach ein komisches gefühl dabei hab 2006-07-05T18:04:38 das ist dann schon wieder zu viel logik 2006-07-05T18:05:02 hm, > und < bräuchte ich aber wenn dann auch, um das "last_message" einer Konversation mit dem "last_read" zu vergleichen 2006-07-05T18:05:18 also ob das größer ist, dann ist die konversation ungelesen 2006-07-05T18:05:45 könnte man nicht machen {% if a bigger b %} und {% if not a bigger b %}? 2006-07-05T18:06:52 mitsuhiko: eq, ne, lt, gt ;) 2006-07-05T18:07:12 beewee: sowas gehört bitte in den controller/view 2006-07-05T18:07:27 d['read'] = d['last_message'] < d['last_read'] oder so 2006-07-05T18:07:36 birkenfeld: joa. besser 2006-07-05T18:07:53 mitsuhiko, ok, aber das equals geht, oder? 2006-07-05T18:08:02 das würde mir das markieren des aktuellen ordners erleichtern 2006-07-05T18:08:07 {% if active_item eq 'index' %} class="active"{% endif %} <-- sowas fände ich hingegen gut 2006-07-05T18:08:14 jo 2006-07-05T18:08:17 sowas bau ich dir ein 2006-07-05T18:08:35 ok, danke 2006-07-05T18:09:14 achja, soll ich zum speichern von einem datum timestamp oder datetime verwenden? 2006-07-05T18:10:23 cool geschreiben: http://blog.koehntopp.de/archives/1318-Erfahrungen-mit-Nonoffice.html 2006-07-05T18:10:27 beewee: datetime 2006-07-05T18:10:30 ok 2006-07-05T18:10:41 mitsuhiko: perlismus 2006-07-05T18:10:43 weil |dateformat |timeformat und co brauchen die 2006-07-05T18:11:06 beewee: und wenn du eine spalte als DateTime deklarierst bekommst du automatisch datetime objekte 2006-07-05T18:11:13 birkenfeld: eq? 2006-07-05T18:11:59 http://perldoc.perl.org/perlop.html#Relational-Operators-relational-operator-operator%2c-relational 2006-07-05T18:14:13 birkenfeld: __eq__, __ne__ ^^ und monard und bash haben ja auch diese namen :) 2006-07-05T18:14:19 also eher generalismus 2006-07-05T18:14:29 jo 2006-07-05T18:15:23 birkenfeld: übrigens gefällt mir perldoc viel besser als docs.python.org :p 2006-07-05T18:15:37 da gibts bessere farben, syntax highlighting und links 2006-07-05T18:15:42 hmja 2006-07-05T18:16:38 dafür gibts da halt solche scheußlichkeiten: 2006-07-05T18:16:42 # These evaluate exit before doing the print: 2006-07-05T18:16:43 print($foo), exit; # Or this. 2006-07-05T18:16:45 print ($foo), exit; # Or even this. 2006-07-05T18:17:13 birkenfeld: jo. perl selber ist grausam 2006-07-05T18:17:18 fast so grausam wie ruby ^^ 2006-07-05T18:17:23 NEIN!!! 2006-07-05T18:17:24 mitsuhiko: soll ich? 2006-07-05T18:17:28 ah, codi is da :D 2006-07-05T18:17:30 *freu* 2006-07-05T18:17:33 """kann mir jemand beim einrücken helfen""" 2006-07-05T18:17:36 birkenfeld: ja 2006-07-05T18:19:52 grml 2006-07-05T18:19:53 ^^ 2006-07-05T18:21:21 codi? lese das http://www.catb.org/esr/faqs/smart-questions.html 2006-07-05T18:21:23 hey 2006-07-05T18:21:24 der ist gut ^^^ 2006-07-05T18:31:29 * mitsuhiko ist mal essen 2006-07-05T18:31:39 ich mach das ConditionTag später fertig. hab hier noch einen show stopper 2006-07-05T19:03:42 re 2006-07-05T19:04:36 wb mitsuhiko 2006-07-05T19:04:53 thx 2006-07-05T19:06:01 birkenfeld: ich nehm doch equals und not equals 2006-07-05T19:06:11 warum? 2006-07-05T19:06:29 weil {% if a %} und {% if not a %} 2006-07-05T19:06:38 dann {% if a equals b %} und {% if not a equals b %} 2006-07-05T19:06:48 ist irgendwie naheliegender für einen template designer der kein perl kann :) 2006-07-05T19:06:56 {% if a eq b %} 2006-07-05T19:07:02 wo ist der große unterschied? 2006-07-05T19:07:08 {% if a ne b %} <-- da 2006-07-05T19:07:16 und {% if not a ne b %} <-- komisch 2006-07-05T19:08:04 birkenfeld: ich weiß nicht. wenns wie korrektes englisch ausschaut find ich das irgendwie logischer. ist aber eine persönliche meinung 2006-07-05T19:08:11 wer schreibt doppelte verneinung? 2006-07-05T19:08:33 birkenfeld: hups. s/ne/eq/ 2006-07-05T19:08:37 oder s/not// 2006-07-05T19:08:39 je nach dem 2006-07-05T19:08:44 ansonsten kannst du ne ja auch weglassen 2006-07-05T19:08:50 mir gefällt halt eq weils kürzer is 2006-07-05T19:09:35 equals und eq/ne werd ich nicht zusammen implementieren. das wird ja kein perl ^^ 2006-07-05T19:09:40 beewee: abstimmung 2006-07-05T19:09:52 xorAxAx: willst du auch stimmberechtigt sein? 2006-07-05T19:10:00 (wobei xorAxAx sicher wieder was anderes vorschlägt) 2006-07-05T19:10:27 nö, busy 2006-07-05T19:10:48 gut, dann ohne 2006-07-05T19:10:50 dich 2006-07-05T19:10:51 ;) 2006-07-05T19:11:04 hm, ich bin für mitsuhikos lösung, ist irgendwie leichter und intuitiver lesbar 2006-07-05T19:11:36 okay, du musst schließlich damit leben ;) 2006-07-05T19:11:45 *** das-q has quit IRC 2006-07-05T19:18:52 self._var2 = handler_args[3 + self._negated] 2006-07-05T19:18:56 rechnen mit booleans :) 2006-07-05T19:21:47 new changes: Changeset [1105]: core_ prefix for models is now done in the models themselves, no need to … 2006-07-05T19:22:01 beewee: svn up :) 2006-07-05T19:23:23 new changes: Changeset [1106]: added comparison tag 2006-07-05T19:23:35 bis später birkenfeld :) 2006-07-05T19:28:30 re 2006-07-05T19:28:50 wb beewee 2006-07-05T19:29:02 --> http://trac.pocoo.org/changeset/1106 2006-07-05T19:29:37 ah, perfekt, thx 2006-07-05T19:29:54 achja, du weißt doch nicht zufällig, wo das herkommt: 2006-07-05T19:30:00 sqlalchemy.exceptions.FlushError - Circular dependency detected 2006-07-05T19:30:15 google findet dazu 0 2006-07-05T19:31:01 beewee: ich bin ganz gut im raten :) 2006-07-05T19:31:06 ich würd mal sagen du hast zwei klassen 2006-07-05T19:31:09 (objekte) 2006-07-05T19:31:15 user1 und user2 zB 2006-07-05T19:31:25 und user1 speichert eine referenz auf user2 und umgekehrt 2006-07-05T19:31:31 und sqlalchemy weiß jetzt nicht wie flushen 2006-07-05T19:31:44 oder so ein ähnlicher fall 2006-07-05T19:31:58 was versuchst du in die db zu schicken? 2006-07-05T19:33:09 ah, habs schon gefunden 2006-07-05T19:33:20 *** PBeck|off is now known as PBeck 2006-07-05T19:33:24 folder hatte als child message, was wiederrum als parent folder hatte 2006-07-05T19:33:36 des hatte ihn anscheinend verwirrt, ohne das gehts :D 2006-07-05T19:33:39 wb PBeck 2006-07-05T19:33:51 hey mitsuhiko 2006-07-05T19:34:02 beewee: da gibts tricks wie man sowas trotzdem flushen kann 2006-07-05T19:34:05 aber frag mich nicht welche ^^ 2006-07-05T19:34:25 ok, aber ich brauch es gar nicht, das war ein Fehler ;-) 2006-07-05T19:34:27 hi PBeck 2006-07-05T19:35:02 hey beewee 2006-07-05T19:39:32 re 2006-07-05T19:39:38 wb birkenfeld 2006-07-05T19:40:17 thx 2006-07-05T19:40:36 *** dejot has quit IRC 2006-07-05T19:44:00 mitsuhiko: gibts was zu tun? 2006-07-05T19:44:38 birkenfeld: du könntest die ProtectedForm in pocoo.pkg.core.validation fixen 2006-07-05T19:44:45 okay, mal sehn 2006-07-05T19:44:49 was ist putt? 2006-07-05T19:45:09 birkenfeld: es sollte ein XXX dabei sein 2006-07-05T19:45:12 ok 2006-07-05T19:45:43 birkenfeld: achja. und diesen xss key sollte man im template nicht selber setzten müssen 2006-07-05T19:45:50 vielleicht fällt dir da was cooles ein 2006-07-05T19:46:42 ui 2006-07-05T19:46:47 #XXX: broken for some reasons 2006-07-05T19:47:04 argh. moment 2006-07-05T19:47:07 birkenfeld: ich hab da irgendwo was notiert :) 2006-07-05T19:47:42 ah. jo 2006-07-05T19:47:50 new changes: Changeset [1107]: updated jinja docs for recursion and new comparison tags 2006-07-05T19:48:01 irgendwie muss man also böse abfragen abtöten 2006-07-05T19:48:27 und das problem ist, dass die ganzen xss sachen im session dict rumlungern 2006-07-05T19:48:30 und da nicht mehr rauskommen 2006-07-05T19:48:47 nicht gerade ideal wenn die das session table voll laufen lassen 2006-07-05T19:49:00 jo 2006-07-05T19:54:05 birkenfeld: und dann wären funktionen cool mit denen man threads ganz einfach splitten, verschieben usw kann 2006-07-05T19:54:13 das wäre gut nicht im view/controller zu machen 2006-07-05T19:54:42 wie haben wir das mit den thread<->post zuordnungen jetzt eigentlich gelöst? 2006-07-05T19:56:09 birkenfeld: ney. beewee hat das momentan wieder zurückgesetzt weils nichtmal mehr startete. und ich hatte noch keine zeit den fehler zu analysieren 2006-07-05T19:56:31 irgendwas mit None.thread has no properties oder so 2006-07-05T19:56:34 das problem war dass wir dann foreign keys haben die aufeinander zeigen 2006-07-05T19:56:42 da ja ein thread auf einen post zeigen muss 2006-07-05T19:56:46 und jeder post auf einen thread 2006-07-05T19:56:55 und damit scheint SQLAlchemy nicht zurechtzukommen 2006-07-05T19:57:34 joa. beewee hatte vorhin ein ähnliches problem. da funktionierte das flushen dann nicht mehr 2006-07-05T19:57:53 joa, dann kam "Circular dependency detected" 2006-07-05T19:58:43 birkenfeld: es wäre ja kein problem mit den "post in mehreren threads", wenn man das mit den urls denn irgenwie hinbiegen könnte 2006-07-05T19:58:55 beewee: so? bei mir kam ein obskurer fehler 2006-07-05T19:59:08 birkenfeld, kam auch nur beim flushen 2006-07-05T19:59:11 ah 2006-07-05T19:59:19 birkenfeld: bei dir kam der fehler ja schon bei der deklaration. und bei ihm nur beim flushen 2006-07-05T19:59:22 abfragen ging ohne probleme 2006-07-05T19:59:41 hu? kann es sein dass SQLAlchemy plötzlich wieder schneller geworden ist? 2006-07-05T20:00:09 birkenfeld: naja. es ist zuminest launisch 2006-07-05T20:00:14 ich kann jetzt wieder 20 foren erstellen ohne zwei tage zu warten 2006-07-05T20:00:17 bei mir wirds arschlahm wenn ich stark verschachtelte strukturen hab 2006-07-05T20:00:29 habt ihr alle SQLAlchemy 0.2.4? 2006-07-05T20:00:34 birkenfeld: schau den index an. wetten du hast nur eine kategorie? 2006-07-05T20:00:43 moment 2006-07-05T20:01:07 nö, schon mehrere 2006-07-05T20:01:15 hmmm 2006-07-05T20:01:23 war. ich schau mal was ich für eine version hab 2006-07-05T20:01:29 0.2.4 2006-07-05T20:01:31 hmm 2006-07-05T20:01:33 hm, ich scheine noch 0.1.5 zu ham 2006-07-05T20:01:38 /usr/lib/python2.4/site-packages/SQLAlchemy-0.1.5-py2.4.egg/sqlalchemy/sql.pyo 2006-07-05T20:01:44 beewee: 1.5? goil 2006-07-05T20:01:58 ^^ 2006-07-05T20:02:03 wie update ich denn das? 2006-07-05T20:02:04 ich dachte metadata gibts erst seit 0.2 2006-07-05T20:02:14 beewee: das glaube ich nicht 2006-07-05T20:02:16 beewee: easy_install -U SQLAlchemy 2006-07-05T20:02:17 mit sudo halt 2006-07-05T20:02:20 aber es scheint wirklich an 0.2.4 zu liegen 2006-07-05T20:02:29 ka, auf jeden fall ist das das, was locate sqlalchemy ausgibt 2006-07-05T20:02:52 das wär ja mal super 2006-07-05T20:03:03 so, jetzt hab ich auch 0.2.4 2006-07-05T20:03:04 birkenfeld: ich starte mal make_testdata 2006-07-05T20:03:06 ist schon etwas länger her 2006-07-05T20:03:39 du kannst die anzahl als argument mitgeben 2006-07-05T20:03:48 birkenfeld: woa. geht wirklich schneller 2006-07-05T20:04:06 wow, startseite in 0.14 sekunden 2006-07-05T20:04:18 ney, schien cache gewesen zu sein :( 2006-07-05T20:04:26 jetzt isses wieder bei 0.5 2006-07-05T20:04:33 birkenfeld: aber du könntest make_testdata mal beibringen, wie man posts verschachtelt ^^ 2006-07-05T20:04:40 jo 2006-07-05T20:04:56 birkenfeld: und evtl nach jedem 5. forum flushen 2006-07-05T20:05:09 100 foren kann ich so nicht erstellen, wird von forum zu forum langsamer 2006-07-05T20:06:10 was dagegen, wenn ich in pocoo.management ein create_database einbaue? 2006-07-05T20:06:44 o-o 2006-07-05T20:07:01 mitsuhiko: das ist klar, er erstellt ja auch im 100. forum 100 threads mit je 100 posts 2006-07-05T20:07:11 ah. wow :) 2006-07-05T20:07:30 ./scripts/make_testdata 1000 2006-07-05T20:07:32 ^^ 2006-07-05T20:07:44 aber wenn ich posts verschachtele krieg ich schon bei 20 ein problem mit der recursion depth 2006-07-05T20:08:20 birkenfeld: sys.setrecusionlimit ^^ 2006-07-05T20:08:48 birkenfeld: bekomm ich bei make_testdata 1000 übrigens auch schon 2006-07-05T20:08:51 RuntimeError: maximum recursion depth exceeded 2006-07-05T20:09:11 dumm, das 2006-07-05T20:09:14 *** Mad-Marty has joined #pocoo 2006-07-05T20:09:17 900 posts / forum konnte er noch erstellen 2006-07-05T20:09:23 hoi Mad-Marty 2006-07-05T20:09:28 birkenfeld: wo hast du da eine recursion drin? 2006-07-05T20:09:35 die ist in SQLAlchemy 2006-07-05T20:09:45 hi mitsuhiko 2006-07-05T20:09:48 hi all 2006-07-05T20:10:02 urks 2006-07-05T20:10:05 birkenfeld: ungut 2006-07-05T20:10:14 mitsuhiko, truncate scheint nicht wirklich zu funktionieren 2006-07-05T20:10:16 vor allem, weil foren gerne mal excessive threads haben 2006-07-05T20:10:29 beewee: |truncate? 2006-07-05T20:10:49 mitsuhiko: wir müssen sehen, ob das wirklich ein SQLAlchemy bug ist und dann melden 2006-07-05T20:10:57 joa, |truncate 10 schneidet einen string bei mir nach 2 wörtern ab und einen machts ganz wech 2006-07-05T20:11:10 File "build/bdist.linux-i686/egg/sqlalchemy/orm/topological.py", line 166, in sort 2006-07-05T20:11:11 ? 2006-07-05T20:11:20 ney, mein fehler 2006-07-05T20:11:32 truncate nimmt buchstaben, keine wörter, sorry 2006-07-05T20:11:43 jo 2006-07-05T20:12:14 beewee: http://wsgiarea.pocoo.org/jinja/docs/filters.html#truncate 2006-07-05T20:12:15 so, ich hab mal pm aktualisiert, bitte alle svn update + make_testdata 2006-07-05T20:13:00 new changes: Changeset [1108]: updated pm 2006-07-05T20:13:05 beewee: die templates besser einheitlich benennen 2006-07-05T20:13:21 pm_overall, pm_folder, pm_conversation oder so 2006-07-05T20:13:27 und dann an einen Sqlalchemy-spezialisten: ich will 2 relations von pm.message nach user, die über "author" (author_id) und "acceptor" (acceptor_id) erreichbar sein sollen 2006-07-05T20:13:28 birkenfeld: private nachricht 2006-07-05T20:13:31 mitsuhiko, ok 2006-07-05T20:13:38 aber doch nicht in englisch, oder? 2006-07-05T20:13:39 mitsuhiko, ney, private message (pm nicht pn) 2006-07-05T20:13:44 musss weg 2006-07-05T20:13:48 mach ich schon 2006-07-05T20:14:12 new changes: Changeset [1109]: make_testdata now creates threaded threads ;) 2006-07-05T20:14:26 birkenfeld: achso. jo 2006-07-05T20:14:57 (das MochiKit repo ist arschlahm) 2006-07-05T20:15:15 beewee: soll die relation von Conversation nach Message wirklich "children" heißen? 2006-07-05T20:15:16 *** das-q has joined #pocoo 2006-07-05T20:17:11 new changes: Changeset [1110]: Add relations in PM system. 2006-07-05T20:18:02 joa. messages ist besser 2006-07-05T20:18:37 *** PBeck is now known as PBeck|off 2006-07-05T20:18:45 *** MasterC has joined #pocoo 2006-07-05T20:18:53 hoi Mad-Marty 2006-07-05T20:18:59 s/Mad-Marty/MasterC 2006-07-05T20:19:32 ^^ 2006-07-05T20:19:39 hi MasterC 2006-07-05T20:19:54 hi 2006-07-05T20:20:09 was. i18n suckt 2006-07-05T20:20:11 beewee: wegen den ordnernamen 2006-07-05T20:20:21 wir können die klarerweise pauschal durch req.gettext jagen 2006-07-05T20:20:47 aber was ist, wenn ein user seinen ordner wirklicht "documents" nennen will und pocoo automagisch "Dokumente" macht? 2006-07-05T20:20:55 eben weil er deutsch als interface sprache eingestellt hat 2006-07-05T20:21:13 ich würde das hassen 2006-07-05T20:21:21 da würde ich sagen dass man den fest eingestellten, übersetzbaren ordnern ein core=True verpasst 2006-07-05T20:21:22 ^^ 2006-07-05T20:21:33 wieso? vom system erstellte namen werden beim erstellen i18nisiert, vom benutzer erstellte nicht 2006-07-05T20:21:46 core ordner kann man dann nicht löschen und umbenennen, und bekommen den angezeigten namen über req.gettext 2006-07-05T20:22:22 birkenfeld: jup. allerdings muss man dafür dann ein attribut mitschicken, ob der ordner ein systemordner ist, oder ob er ein userordner ist 2006-07-05T20:22:32 wieso? 2006-07-05T20:22:53 birkenfeld: woher weiß ich sonst ob ein ordner ein systemordner oder ein userordner ist? 2006-07-05T20:22:54 *** PBeck|off is now known as PBeck 2006-07-05T20:22:58 musst du das wissen? 2006-07-05T20:23:05 warum wollt ihr euch überhaupt mit sowas belasten ? nehmt einfach englisch 2006-07-05T20:23:42 (ich kann keinen vorteil an sprachspezifischen strukturordnern erkennen) 2006-07-05T20:24:05 Mad-Marty: naja, wenn der rest des UIs auf deutsch ist... 2006-07-05T20:24:29 birkenfeld: ich muss ja wissen ob ich es durch req.gettext jage oder nicht :) 2006-07-05T20:24:42 oder meinst du bei der erstellung der ordner die eingestelle sprache nehmen? 2006-07-05T20:24:47 mitsuhiko: ja 2006-07-05T20:24:57 ein bestimmter user wird ja wohl kaum die sprache wechseln 2006-07-05T20:25:00 und wenn, selbst schuld 2006-07-05T20:25:21 den user ist das doch völlig egal wie die ordnerstruktur aufm server ist ^^ oder ? 2006-07-05T20:25:39 birkenfeld: ich hab trotzdem noch einen grund für die einführung von einem core attribut :) 2006-07-05T20:25:53 die tatsache, dass eintrag löschen eine "mail" in den papierkorb verschiebt 2006-07-05T20:26:02 und da ist es wieder von vorteil einfach nur den ordner "trash" suchen zu müssen 2006-07-05T20:26:13 und den papierkorb sollte man idealerweise auch nicht löschen können 2006-07-05T20:26:26 (was ich auch für in- und outbox intelligent finden würde) 2006-07-05T20:26:30 ok 2006-07-05T20:27:18 birkenfeld: dein letzter commit hat hier übrigens make_testdata kaputtet :) 2006-07-05T20:27:21 AttributeError: acceptor_id 2006-07-05T20:27:35 self.opts['foreignkey'] = getattr(mapper.c, self.foreignkey) 2006-07-05T20:27:55 hn 2006-07-05T20:28:00 wie das? 2006-07-05T20:28:16 das schau ich gerade 2006-07-05T20:28:53 ah 2006-07-05T20:29:01 der foreignkey wird in der zieltabelle gesucht 2006-07-05T20:29:02 hm 2006-07-05T20:30:24 birkenfeld: weißt du wann der recursion fehler auftritt? wenn ja sag wo und ich schreib einen testcase an die sqlalchemy ml 2006-07-05T20:32:30 nö, auch nicht besser als du 2006-07-05T20:32:31 ;) 2006-07-05T20:39:13 oh, cool: "Seite generiert in 3.85 Sekunden." 2006-07-05T20:39:20 und das für static content 2006-07-05T20:39:31 wer ist so blöd und macht das auch noch öffentlich? 2006-07-05T20:39:32 birkenfeld: wie gemessern? 2006-07-05T20:39:39 mitsuhiko: nicht bei uns 2006-07-05T20:41:09 birkenfeld: genauso lahm wie das wiki von peak 2006-07-05T20:41:15 aber da dauerts noch länger 2006-07-05T20:41:21 25 sekunden für die setuptools seite Oo 2006-07-05T20:45:18 wut? 2006-07-05T20:45:57 birkenfeld: http://peak.telecommunity.com/DevCenter/setuptools 2006-07-05T20:47:00 und dabei ist das noch eine der schnellsten 2006-07-05T20:47:05 du willst nicht wissen, wie lange SystemInfo läd 2006-07-05T20:47:07 ^^ 2006-07-05T20:47:53 hm 2006-07-05T20:47:59 was der server wohl nebenzu noch macht? 2006-07-05T20:48:40 weiß nicht 2006-07-05T20:48:43 muss aber eine menge sein 2006-07-05T20:48:48 oder es ist ein 75MHz server :) 2006-07-05T20:55:36 WOW: 2006-07-05T20:55:37 MoinMoin Version Version 1.0 [Revision 1.159] 2006-07-05T20:56:01 lol 2006-07-05T20:56:09 das ist prähistorisch 2006-07-05T20:56:30 dafür hats ein python2.3.4 vom 1. März 2006 2006-07-05T20:56:33 da gibts doch sicher ein paar security bugs? 2006-07-05T20:56:47 *** MasterC has quit IRC 2006-07-05T20:56:51 ich frag mich, wie der rst reingehackt hat 2006-07-05T20:56:54 sicher ohne caching Oo 2006-07-05T20:56:59 birkenfeld: joa. glaub schon 2006-07-05T20:57:58 birkenfeld: irgendwie schauen deine änderungen an pm.py aber valid aus 2006-07-05T20:58:05 ich weiß nicht wo sich sqlalchemy da beißt 2006-07-05T21:01:17 *** xStream has joined #pocoo 2006-07-05T21:01:18 hmm. ney 2006-07-05T21:01:24 relations auskommentieren und es geht 2006-07-05T21:01:26 sehr magisch 2006-07-05T21:02:53 beewee: pingeling 2006-07-05T21:07:06 evtl. muss man die relation auf dem user objekt machen 2006-07-05T21:07:16 da man mittels "foreignkey" immer den key in der anderen tabelle angibt 2006-07-05T21:08:03 birkenfeld: schleeeecht. das würde bedeuten, dass plugins was am user objekt patchen müssten :-/ 2006-07-05T21:08:12 nicht ideal 2006-07-05T21:08:13 kuck mal unter http://sqlalchemy.org/docs/adv_datamapping.myt#advdatamapping_properties_relationoptions ob du da was findest 2006-07-05T21:08:25 aye sir 2006-07-05T21:08:38 oder warte mal 2006-07-05T21:08:51 ah, das macht der relation mapper 2006-07-05T21:10:19 forum.Post schau ich mir gerade an 2006-07-05T21:10:25 da gibts gar kein author property 2006-07-05T21:10:27 nur ein author_id 2006-07-05T21:10:44 hmm. stimmt 2006-07-05T21:10:47 das wird via backref gemacht 2006-07-05T21:11:10 ich denke ich habs jetzt 2006-07-05T21:12:09 jo, scheint zu gehn 2006-07-05T21:12:40 cool 2006-07-05T21:12:53 dh das kann man dann auch für forum.Post "umdrehen"? 2006-07-05T21:14:15 new changes: Changeset [1111]: Fix PM relations. 2006-07-05T21:15:04 ich denke 2006-07-05T21:15:32 aber wozu? 2006-07-05T21:15:36 new changes: DatabaseApi edited by gbrandl 2006-07-05T21:16:09 birkenfeld: naja. irgendwie ist das atm komisch: 2006-07-05T21:16:18 class User(...): 2006-07-05T21:16:30 relations = dict( 2006-07-05T21:16:31 posts = meta.many('core_posts', backref='author'), 2006-07-05T21:16:32 ) 2006-07-05T21:16:44 und dann wird damit das Post model geändert wo dort author_id steht 2006-07-05T21:17:05 meta.Column('author_id', meta.Integer, meta.ForeignKey('core_users.user_id' 2006-07-05T21:17:14 halt irgendwie inkonsistent 2006-07-05T21:17:33 es scheint zu gehn 2006-07-05T21:20:16 new changes: DatabaseApi edited by blackbird :: Changeset [1112]: Better relation for post<->user. 2006-07-05T21:49:37 *** se-ur has joined #pocoo 2006-07-05T21:49:40 birkenfeld: Error: "c++" is not a valid command. 2006-07-05T21:49:41 *** codiii has joined #pocoo 2006-07-05T21:50:28 *** se-ur has left #pocoo 2006-07-05T21:52:02 birkenfeld: rippst du zufälligerweise cds? 2006-07-05T21:52:07 (ins mp3 format) 2006-07-05T21:52:15 mitsuhiko: nö, eigentlich nicht 2006-07-05T21:52:38 weil sound-juicer macht schreibt seit einigen tagen keine id3 tags mehr 2006-07-05T21:52:42 und ich frag mich warum :-/ 2006-07-05T21:52:52 dein computer wurde von der RIAA gehackt? 2006-07-05T21:53:07 *** __bot__ has joined #pocoo 2006-07-05T21:53:10 hehe. glaube kaum :) 2006-07-05T21:53:18 das bin ich net 2006-07-05T21:53:22 birkenfeld: aber das tolle ist, dass es cds mit kopierschutz rippt 2006-07-05T21:53:50 codiii: jo 2006-07-05T21:55:33 *** se-ur has joined #pocoo 2006-07-05T21:55:39 Ich wünsche auch ein fröhliches wilkommen Back 2006-07-05T21:55:56 birkenfeld: Error: You don't have the admin capability. If you think that you should have this capability, be sure that you are identified before trying again. The 'whoami' command can tell you if you're identified. 2006-07-05T21:56:50 wow 2006-07-05T21:57:29 >>> 1+324 2006-07-05T21:57:30 <__bot__> 325 2006-07-05T21:57:37 birkenfeld 2006-07-05T21:57:41 asso ja 2006-07-05T21:57:52 das wollte ich noch fargen wie ich das machen kann 2006-07-05T21:58:32 mitsuhiko: wenn ich CDs kaufe, dann ohne kopierschutz 2006-07-05T21:58:35 codiii: indem du auf das supybot bot framework aufsetzt 2006-07-05T21:58:50 aha 2006-07-05T21:59:08 birkenfeld: dito. Die drei Yann Tiersen cds hier sind ohne Kopierschutz 2006-07-05T21:59:10 ich sag ja nur, was geht :) 2006-07-05T21:59:17 Yann Tiersen? 2006-07-05T21:59:18 nur gehen atm die id3 tags nicht 2006-07-05T21:59:22 und das ist weniger groovie 2006-07-05T21:59:31 birkenfeld: http://de.wikipedia.org/wiki/Yann_Tiersen 2006-07-05T21:59:43 codiii: Error: You don't have the admin capability. If you think that you should have this capability, be sure that you are identified before trying again. The 'whoami' command can tell you if you're identified. 2006-07-05T21:59:52 löl 2006-07-05T21:59:57 der geliche behfel 2006-07-05T22:00:07 mitsuhiko: mitsuhiko 2006-07-05T22:00:13 birkenfeld: I don't recognize you. 2006-07-05T22:00:17 öh 2006-07-05T22:00:37 mitsuhiko: Error: That registry variable has no value. Use the list command in this plugin to see what variables are available in this group. 2006-07-05T22:01:00 hmm. wie heiß nochmal der config key... 2006-07-05T22:01:08 mitsuhiko: ah 2006-07-05T22:01:15 birkenfeld: ich glaub dein bot hört auf "%" 2006-07-05T22:01:17 %blub 2006-07-05T22:01:21 @blub 2006-07-05T22:01:24 "blub 2006-07-05T22:01:26 .blub 2006-07-05T22:01:28 hmm 2006-07-05T22:01:35 %blub 2006-07-05T22:01:37 <__bot__> birkenfeld: Error: "blub" is not a valid command. 2006-07-05T22:01:39 Versuche, eine Antwort durch Suchen im Web zu finden. Versuche, eine Antwort durch Lesen des Handbuches (Manuals) zu finden. Versuche, eine Antwort durch Lesen der FAQ zu finden.Wenn du ein Programmierer bist, dann versuche, eine Antwort durch Lesen des Source-Codes zu finden. 2006-07-05T22:01:42 jo 2006-07-05T22:01:53 :) 2006-07-05T22:02:38 sendit("http://www.gulli.com/tools/whois/ %s" % rec[rec.find(":!who ") + 6:]) 2006-07-05T22:02:46 wo ist der fehler 2006-07-05T22:02:52 ich wollte das so amchen 2006-07-05T22:02:58 codiii: #python.de bitte 2006-07-05T22:03:04 das hier ist der pocoo dev chan 2006-07-05T22:03:09 sorry 2006-07-05T22:04:43 *** se-ur has left #pocoo 2006-07-05T22:05:07 :( 2006-07-05T22:10:35 *** PBeck is now known as PBeck|off 2006-07-05T22:11:47 *** ChanServ sets mode: +o birkenfeld 2006-07-05T22:12:15 re 2006-07-05T22:12:22 mitsuhiko, zu den ordnernamen 2006-07-05T22:12:36 ich wollte eigentlich nur die standardordner übersetzen, das war dann wohl ein fehler 2006-07-05T22:12:52 (die ordner mit userid -1 sind die standardordner) 2006-07-05T22:13:20 *** __bot__ was kicked by birkenfeld (message) 2006-07-05T22:13:21 *** __bot__ has joined #pocoo 2006-07-05T22:13:38 *** ChanServ sets mode: -o birkenfeld 2006-07-05T22:13:39 relire 2006-07-05T22:13:44 herrlich. luft wieder frei 2006-07-05T22:13:53 beewee: ah. dann ist gut 2006-07-05T22:13:59 ney. nicht gut 2006-07-05T22:14:10 wenn userid == -1, dann haben ja alle user die gleichen ordner Oo 2006-07-05T22:14:14 wie weißt du dann nachrichten zu? 2006-07-05T22:14:20 userid == -1? 2006-07-05T22:14:24 ist doch anonymus 2006-07-05T22:15:00 ich hab eher gedacht jeder user hat seine eigene ordnerstruktur incl core ordnern und dort sind dann seine nachrichten reinreferenziert 2006-07-05T22:15:04 ney, moment 2006-07-05T22:15:22 folders = req.db.select(Folder, (Folder.c.user_id == req.user.user_id) | (Folder.c.user_id == -1)) 2006-07-05T22:15:38 und die nachrichten aus einem ordner so: 2006-07-05T22:15:40 beewee: und wie liegen die nachrichten in den ordnern? 2006-07-05T22:16:09 die nachrichten haben ein "acceptor" also den empfänger eingespeichert 2006-07-05T22:16:24 die hol ich dann mit "ordner == 1 & acceptor == 1" 2006-07-05T22:16:35 das ist aber nur bei den standardordnern 2006-07-05T22:16:37 1 == inbox? 2006-07-05T22:16:44 1 = inbox 2006-07-05T22:16:47 irgendwie zu komplex 2006-07-05T22:16:52 * mitsuhiko ist für das hier: 2006-07-05T22:16:56 es gibt einen Folder 2006-07-05T22:16:57 mir is nix besseres eingtefallen 2006-07-05T22:17:01 ein Foldermodel 2006-07-05T22:17:08 das hat ein attribute "core" 2006-07-05T22:17:15 das ist ein bool, True wenn core 2006-07-05T22:17:26 core einträge werden durch gettext gejagt und können nicht gelöscht werden 2006-07-05T22:17:35 da wären Inbox, Outbox, Trash, Sent 2006-07-05T22:17:52 intern mit diesen namen abgelegt 2006-07-05T22:18:10 wenn ein user eine nachricht schreibt wird die nachricht in der inbox des anderen users abgelegt 2006-07-05T22:18:25 und zusätzlich noch in der outbox von meinem account 2006-07-05T22:18:32 (sent gibts nicht, bitte wegdenken) 2006-07-05T22:18:44 wenn ich einen eintrag lösche verschiebt den pocoo nach trash 2006-07-05T22:18:53 in deinem modell fehlen noch die "conversations" 2006-07-05T22:19:18 (ich hab das ganze so gemacht, da ich nicht für jeden user einzeln die standardordner erstellen wollte) 2006-07-05T22:19:24 jede message hat ein follow up 2006-07-05T22:19:32 die referenziert auf NULL oder eine andere nachricht 2006-07-05T22:19:49 birkenfeld: was ist deine meinung? 2006-07-05T22:20:04 ney, ich würd sagen, bei pms brauchen wir keinen threaded mode 2006-07-05T22:20:15 weil pms meistens eh nur 2 personen miteinander machen 2006-07-05T22:20:18 joa. das würds einfacher machen 2006-07-05T22:20:23 jup jup 2006-07-05T22:20:26 und ansonsten per mail 2006-07-05T22:20:32 --> ich würd sagen "conversation" hat einfach x chields, die per zeit sortiert werden 2006-07-05T22:20:42 beewee: wenn du die folder pro user anlegst hast du auch schönere urls: 2006-07-05T22:20:48 /messages/inbox/ 2006-07-05T22:21:00 /messages/my_folder/ 2006-07-05T22:21:06 *** se-ur has joined #pocoo 2006-07-05T22:21:22 *** se-ur has left #pocoo 2006-07-05T22:21:23 ok 2006-07-05T22:21:30 die könnte man auch generieren 2006-07-05T22:22:14 es ist natürlich schon eine platzersparnis wenn man nicht pro user 3 oder 5 standardordner anlegen muss 2006-07-05T22:23:09 gut. das ist ein argument 2006-07-05T22:23:51 ok, wer macht die models, so, wie wirs jetzt besprochen haben? 2006-07-05T22:24:21 haben wir uns jetzt entschieden? ^^ 2006-07-05T22:24:30 glaub schon ;-) 2006-07-05T22:24:45 oder welche frage ist noch offen? 2006-07-05T22:25:41 ob wir jetzt die internen ordner nur einmal speichern oder so wie ich oben meinte pro user 2006-07-05T22:26:04 ach so 2006-07-05T22:26:22 oder, wir machen gar keine ordner 2006-07-05T22:26:27 sondern wie gmail tags 2006-07-05T22:27:00 das mit den tags wollte ich für threads auch einführen 2006-07-05T22:27:03 in den wordpress foren schaut das sehr genial aus 2006-07-05T22:27:11 jep 2006-07-05T22:27:34 beewee: das mit den tags für pns ist nicht schlecht 2006-07-05T22:27:40 dann kann man nach tags und usern sortieren 2006-07-05T22:28:01 dann spart man sich alle strukturen 2006-07-05T22:28:15 +1 2006-07-05T22:28:29 die einzige offene frage 2006-07-05T22:28:32 pns wären dann unique 2006-07-05T22:28:42 dh. versender und empfänger hätten die selbe pn in der hand 2006-07-05T22:28:43 wie man massenversand macht? 2006-07-05T22:28:53 wenn einer von den beiden die löscht taucht sie beim anderen auch nciht mehr auf 2006-07-05T22:29:14 dh. sender schaut in seine "outbox" und findet dort seine mail nicht mehr, weils der empfänger gelöscht hat 2006-07-05T22:29:23 dann müsste man das löschen so regeln, dass pns als gelöscht markiert werden 2006-07-05T22:29:51 und erst wenn alle empfänger und der sender die pn löschen verschwindet sie aus der db 2006-07-05T22:29:55 hm 2006-07-05T22:30:14 mitsuhiko, du hast wieder ohne conversations gedacht ;-) 2006-07-05T22:30:25 beewee: die lassen wir weg ^^ 2006-07-05T22:30:30 ok ^^ 2006-07-05T22:30:36 das machts einfacher 2006-07-05T22:30:50 weil conversations dürften eben nicht unique sein 2006-07-05T22:31:25 es muss ja sowieso eine zuordnungstabelle user<->pn geben 2006-07-05T22:32:19 oder wir machen pns nicht unique, was aber halt umständlich wäre 2006-07-05T22:32:31 d.h. für jeden user ne eigene pn erstellen, aber mit dem gleichen text 2006-07-05T22:32:38 beewee: und bei einer mail an 100 leute in 101 pns in der db enden würde 2006-07-05T22:32:54 stimmt, das ist auch ungünstig ;-) 2006-07-05T22:32:56 (stell dir erst eine mail an das ganze forum vor Oo) 2006-07-05T22:33:45 aber wie will man, wenn pns unique sind und eine an 100 user geschickt wird, das speichern, an wen die geschickt wurde? 2006-07-05T22:33:53 birkenfeld: wir haben doch einen default user 2006-07-05T22:33:56 bzw. wie fragt man das ab? 2006-07-05T22:34:01 den könnte man als "mail-to-everybody-user" verwenden 2006-07-05T22:34:16 wer schickt PNs an 100 user? 2006-07-05T22:34:44 birkenfeld: das ubuntuusers team hätte das gerne öfters mal getan. zB an alle user, die im ubuntuusers team sind :) 2006-07-05T22:34:55 okay 2006-07-05T22:35:35 mitsuhiko, aber wie sendest du eine pn an alle user bis auf einen? 2006-07-05T22:36:05 beewee: das ist das problem. in der hilfstabelle wären dann n-1 einträge für die eine pn :-/ 2006-07-05T22:36:19 aber wer zur hölle schickt an n-1 user eine pn Oo 2006-07-05T22:37:41 irgendwo musst du es speichern 2006-07-05T22:37:46 muss ja nicht n-1 sein, ubuntuusers team z.B. reicht ja schon aus 2006-07-05T22:38:04 man kann natürlich auch sagen, eine pn kann max. 10 empfänger haben 2006-07-05T22:38:05 wenn es 10 rundmails gibt und 50 leute im team bist, haste schon 500 einträge 2006-07-05T22:38:18 birkenfeld, das ist dann aber auch dumm 2006-07-05T22:38:19 wobei auch gruppen als empfänger zugelassenw erden 2006-07-05T22:38:29 hm 2006-07-05T22:38:51 also entweder an maximal 10 user oder gruppe, was aber mehr als 10 sein können 2006-07-05T22:38:56 und gruppe bringt nur 1en db-eintrag 2006-07-05T22:39:15 ja 2006-07-05T22:39:52 birkenfeld: das wäre ideal 2006-07-05T22:39:56 nur wie man das intern speichert :-/ 2006-07-05T22:40:28 birkenfeld: und die tabelle schaut dann so aus: id INT PRIMARY KEY | is_group INT | object_id INT | pn_id INT ? 2006-07-05T22:40:47 naja, man macht eine klasse "IMessageAcceptor" und leitet davon User und Group ab ;) 2006-07-05T22:41:00 __doc__ lässt grüssen 2006-07-05T22:41:01 ^^ 2006-07-05T22:41:31 wobei das hier wirklich mal ein anwendungsfall für vererbbare models wäre 2006-07-05T22:45:07 birkenfeld, beewee: gewissensfrage. Ihr bekommt vom Addison-Wesley verlag eine DVD mit dem Namen "Video-Training SUSE Linux 10.1!" kostenlos zugeschickt, wenn ihr eine Rezension schreiben würdet. Würdet ihr zusagen? 2006-07-05T22:45:10 (ziemlich viele würdet) 2006-07-05T22:45:27 wozu? 2006-07-05T22:46:34 birkenfeld: Einer vom Addison-Wesley Verlag hat mir gerade eine Mail geschrieben ob ich ein Pressefreiexemplar zur Rezension bekommen will 2006-07-05T22:46:39 allerdings hab ich mit SUSE nix am Hut :-/ 2006-07-05T22:46:43 eben 2006-07-05T22:46:59 ich würde sie anfordern, in der rückantwort "wuff" schreiben und dann ein bild eines hundes beilegen 2006-07-05T22:47:01 * mitsuhiko schreibt mal eine Absage 2006-07-05T22:47:10 xorAxAx: rofl 2006-07-05T22:47:20 mitsuhiko: wie kommen sie auf dich als pressekontakt? 2006-07-05T22:47:45 xorAxAx: weil ich für das ubuntu Buch von Kofler eine geschrieben hab 2006-07-05T22:47:54 achso 2006-07-05T22:47:55 aber wie die auf die Idee kommen, dass ich das für SUSE tun würde... 2006-07-05T22:48:17 * xorAxAx hat heute mit ziemlich vielen ubuntu-leuten gesprochen 2006-07-05T22:48:45 xorAxAx: wundert mich nicht. Die vermehren sich wie die Karnickel ^^ 2006-07-05T22:49:33 so, also, wer macht jetzt das mit den pns? 2006-07-05T22:49:54 beewee: ich dachte du? ^^ 2006-07-05T22:50:01 ich werd mich hinter die "new post" views klemmen 2006-07-05T22:50:06 *** xStream_ has joined #pocoo 2006-07-05T22:50:18 oops, ich meinte canonical lueten 2006-07-05T22:50:24 mit ubuntu hat hier keiner was am hut 2006-07-05T22:50:51 mitsuhiko, eigentlich schon, nur bin ich bei models machen nicht so gut ^^ 2006-07-05T22:50:59 wenn die models da sind, kann ich machen :D 2006-07-05T22:52:26 beewee: die kann ich schon machen. bis auf die sache mit den empfängern. da hätt ich jetzt nicht die große idee, wie user und group unterscheiden 2006-07-05T22:52:27 bzw. krieg ich die models zu der hilfstabelle glaub ich net hin 2006-07-05T22:53:40 hm, birkenfeld ist doch so gut beim models machen ^^ 2006-07-05T22:57:56 hm, wegen empfängern, eine möglichkeit wäre doch, einfach 2 hilfstabellen zu machen (ist zwar nicht das eleganteste, aber das einfachste) 2006-07-05T22:58:14 *** das-q has quit IRC 2006-07-05T22:59:45 ? 2006-07-05T22:59:56 beewee: ich überleg mir was 2006-07-05T23:02:06 ich bin jetzt weg 2006-07-05T23:02:07 cya 2006-07-05T23:02:10 me 2 2006-07-05T23:02:13 cya 2006-07-05T23:02:20 ich bin im bett 2006-07-05T23:03:11 cu all 2006-07-05T23:03:14 ich geh dann auch 2006-07-05T23:03:19 *** beewee has quit IRC 2006-07-05T23:06:14 *** xStream has quit IRC 2006-07-05T23:19:19 *** dejot__ has joined #pocoo 2006-07-05T23:33:51 *** dejot has quit IRC 2006-07-05T23:41:20 *** Mad-Marty has quit IRC 2006-07-05T23:42:31 *** __bot__ has quit IRC 2006-07-05T23:43:49 *** birkenfeld has quit IRC