2009-08-17T00:04:10  <dreimark> can we have a browser test for http://paste.pocoo.org/show/134695/
2009-08-17T00:04:23  <dreimark> dimazest: JosefMeier ^
2009-08-17T00:05:24  <dreimark> opera, ff und konqueror shows a grafik
2009-08-17T00:05:36  <JosefMeier> whats's this?
2009-08-17T00:06:17  <dreimark> it's an example I created by svg-edit and that is the base64 encoded data
2009-08-17T00:09:50  <ThomasWaldmann> 2009-08-16 23:09:12,901 INFO MoinMoin.server.server_standalone:286 127.0.0.1 "GET /org/anywikidraw/twiki/TWikiDrawingApplet.class HTTP/1.1" 404 -
2009-08-17T00:11:42  <dreimark> ok, it is in wave "And there’s ongoing work by Vidar to turn this into a Google Wave Gadget for collaborative sketching, which would be awesome."
2009-08-17T00:25:25  *** grzywacz has quit IRC
2009-08-17T00:30:29  <JosefMeier> ThomasWaldmann: This is cause Java doesn't find the applet
2009-08-17T00:30:35  <JosefMeier> so it's searching it
2009-08-17T00:34:05  <ThomasWaldmann> ah X)
2009-08-17T00:34:19  <JosefMeier> it try to install java but it doesn't work
2009-08-17T00:34:31  <JosefMeier> do I have to restart linux after I downloaded it through yast?
2009-08-17T00:35:34  <JosefMeier> hm ... in the console java is installed
2009-08-17T00:35:41  <JosefMeier> only firefox seems not to have it installed
2009-08-17T00:35:51  <JosefMeier> restarted firefox but it doesnt work
2009-08-17T00:36:26  *** tpfennig has quit IRC
2009-08-17T00:37:01  <JosefMeier> do I have to be root for successfully installing java for firefox?
2009-08-17T00:37:19  <ThomasWaldmann> JosefMeier: you need the java plugin
2009-08-17T00:37:25  <ThomasWaldmann> sometimes a different package
2009-08-17T00:37:49  <JosefMeier> so java is not enough? I need a plugin also?
2009-08-17T00:38:50  <ThomasWaldmann> not sure how exactly it is named on suse, but something with java or jre and plugin
2009-08-17T00:42:29  <dreimark> or iced-tea
2009-08-17T00:45:16  <JosefMeier> ok. now everything is running. my applet doesn't start as for you
2009-08-17T00:45:19  <JosefMeier> hm
2009-08-17T00:45:26  <JosefMeier> how did you start the applet manually?
2009-08-17T00:45:35  <dreimark> java -jar
2009-08-17T00:46:05  <JosefMeier> ok
2009-08-17T00:46:06  <JosefMeier> funny
2009-08-17T00:47:36  <JosefMeier> it starts manually
2009-08-17T00:58:54  <JosefMeier> lol ?
2009-08-17T00:59:12  <JosefMeier> my jar file only lower case letters
2009-08-17T00:59:23  <JosefMeier> this may be a problem on linux :-)
2009-08-17T01:01:06  <JosefMeier> I love it : now its working
2009-08-17T01:01:24  <ThomasWaldmann> JosefMeier: hg mv
2009-08-17T01:01:50  <JosefMeier> could you please do this command in Wikis/htdocs/applets/MoinMoinWikiDraw/cp moinmoinwikidraw.jar MoinMoinWikiDraw.jar
2009-08-17T01:02:15  <JosefMeier> then you have to clear the classloader cache. right click on the applet in the attach window, open console and press "x"
2009-08-17T01:02:29  <JosefMeier> please tell me if it's working after that.
2009-08-17T01:02:39  <JosefMeier> ThomasWaldmann : what is this command doing?
2009-08-17T01:02:54  <ThomasWaldmann> renaming
2009-08-17T01:03:15  * ThomasWaldmann tries
2009-08-17T01:03:28  <JosefMeier> wow
2009-08-17T01:03:45  <JosefMeier> moinmoin is 5x faster on my linux virtual machine as on my high speed windows pc :-)
2009-08-17T01:03:53  <JosefMeier> <- impressed
2009-08-17T01:04:29  <JosefMeier> damn it. is that fast :-)
2009-08-17T01:04:36  <JosefMeier> i don't belive it. on my virtual machine. puh
2009-08-17T01:05:05  * dreimark looks like we will convert you after some time 
2009-08-17T01:05:13  <JosefMeier> no chance ;-)
2009-08-17T01:05:30  <JosefMeier> but it's so fast. java seems to do something different on linux machines
2009-08-17T01:05:40  <dreimark> not only java
2009-08-17T01:05:44  <ThomasWaldmann> class org.jhotdraw.samples.svg.Gradient' signer information
2009-08-17T01:05:52  <JosefMeier> is it working?
2009-08-17T01:05:58  <JosefMeier> does it start?
2009-08-17T01:06:12  <ThomasWaldmann> does not match signer info of other classes in the same package
2009-08-17T01:06:32  <JosefMeier> what does this mean? on my suse 11 everything works perfect
2009-08-17T01:07:01  <JosefMeier> you have to accept the jar thing
2009-08-17T01:07:09  <JosefMeier> I signed it
2009-08-17T01:08:35  <JosefMeier> Thomas?
2009-08-17T01:08:39  <JosefMeier> does it work?
2009-08-17T01:09:39  <ThomasWaldmann> no, it first starts and then gives the msg i posted
2009-08-17T01:10:01  <JosefMeier> have you pressed x in the java console before?
2009-08-17T01:11:01  <JosefMeier> I'm using Java 1.6
2009-08-17T01:11:08  <JosefMeier> maybe this is a problem
2009-08-17T01:12:20  <ThomasWaldmann> yes
2009-08-17T01:15:50  <JosefMeier> pressing x and reloading the page didn't solve it?
2009-08-17T01:16:21  <ThomasWaldmann> i can't enter the java console any more
2009-08-17T01:17:41  <JosefMeier> what's displayed then?
2009-08-17T01:18:37  <JosefMeier> go to your installation directory of the Java runtime engine
2009-08-17T01:18:51  <JosefMeier> bin / controlpanel
2009-08-17T01:18:54  <JosefMeier> ControlPanel
2009-08-17T01:19:01  <JosefMeier> click on cache tab
2009-08-17T01:19:05  <JosefMeier> click on the clear button
2009-08-17T01:19:07  <JosefMeier> click ok
2009-08-17T01:19:10  <JosefMeier> then the cache is cleared
2009-08-17T01:23:01  <ThomasWaldmann> still the gradient signer problem
2009-08-17T01:23:57  <JosefMeier> could you change the lower case problem in the online rep?
2009-08-17T01:24:12  <JosefMeier> then I could send a new jar file with ne signing applied to it
2009-08-17T01:24:28  <CIA-38> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 4370:cc9338f4f757 1.8-svgdraw-jmeier/wiki/htdocs/applets/MoinMoinWikiDraw/ (MoinMoinWikiDraw.jar moinmoinwikidraw.jar): rename to MoinMoinWikiDraw.jar to fix case-sensitive lookup
2009-08-17T01:24:29  <JosefMeier> you always have to clear the cache before you can use the new jar
2009-08-17T01:32:01  <JosefMeier> dreimark: is it working for you if you change the jar name to MoinMoinWikiDraw.jar ?
2009-08-17T01:54:12  <dreimark> it tells unknown for Twiki
2009-08-17T01:54:16  <dreimark> JosefMeier: ^
2009-08-17T01:55:23  <dreimark> it tells it is started but where is it?
2009-08-17T01:55:56  <dreimark> /org/jhotdraw/draw/Labels_de_DE.properties HTTP/1.1" 404 -
2009-08-17T02:06:38  <dreimark> dimazest: action SyncPages is broken
2009-08-17T02:06:39  <dreimark> options.update(request.dicts[self.pagename])
2009-08-17T02:06:44  <dreimark> NameError: global name 'request' is not defined
2009-08-17T02:07:37  <JosefMeier> unknown is ok
2009-08-17T02:07:41  <JosefMeier> thats the name of the pic
2009-08-17T02:07:45  <JosefMeier> "unkwon"
2009-08-17T02:08:06  <JosefMeier> where did you geht this "syncpages" error? do you have Java 1.6 installed? For Thomas that worked
2009-08-17T02:08:21  <dreimark> JosefMeier: this was for dimazest my student
2009-08-17T02:08:28  <dreimark> it is in current 1.9
2009-08-17T02:08:29  <JosefMeier> ah ok. puh
2009-08-17T02:08:55  <JosefMeier> dreimark: the "new editor" is working now. Have you tried it?
2009-08-17T02:09:16  <dreimark> I have icedTea
2009-08-17T02:09:47  <dreimark> the new fck yes, that is nice that gave me the impression that theywill extend it by svg-edit
2009-08-17T02:11:03  <dreimark> (at least me would do this)
2009-08-17T02:11:11  <JosefMeier> svg-edit is ugly. sorry ;-)
2009-08-17T02:11:27  <JosefMeier> does icedtea not work with my applet?
2009-08-17T02:11:33  <dreimark> I heard already but we must think about how it would look like in 2011
2009-08-17T02:11:52  <JosefMeier> not like this I hope ;-)
2009-08-17T02:12:09  <dreimark> it works in my browser your applet does not start
2009-08-17T02:12:21  <JosefMeier> did you change the writing?
2009-08-17T02:12:26  <dreimark> I think it has something to do with the signature
2009-08-17T02:12:38  <JosefMeier> from moinmoinwikidraw.jar  -> MoinMoinWikiDraw.jar
2009-08-17T02:12:44  <JosefMeier> this was the bug
2009-08-17T02:12:54  <dreimark> thomas has pushed a fix 4370:cc9338f4f757
2009-08-17T02:13:02  <dreimark> anything more than that
2009-08-17T02:14:32  <JosefMeier> no
2009-08-17T02:14:35  <JosefMeier> should work now
2009-08-17T02:14:41  <JosefMeier> you have to clear your java cache before
2009-08-17T02:14:44  <dreimark> twikidraw works
2009-08-17T02:15:11  <JosefMeier> I'll try it with icedtea tomorrow
2009-08-17T02:15:20  <JosefMeier> twikidraw is completely diffferent
2009-08-17T02:15:29  <dreimark> hmm I cleared the whole cache, how can Iclear only the java cache?
2009-08-17T02:15:47  <dreimark> ok, I think I should get somesleep too
2009-08-17T02:15:50  <JosefMeier> ask thomas. he did it. I didn't found it. There has to be some controlpanel
2009-08-17T02:16:01  <JosefMeier> yes.
2009-08-17T02:19:19  <ThomasWaldmann> which java
2009-08-17T02:19:23  <ThomasWaldmann> -> path
2009-08-17T02:19:34  <ThomasWaldmann> -> bin/ControlPanel
2009-08-17T02:21:01  <dreimark> JosefMeier: twikidraw does not use a certificate
2009-08-17T02:21:05  <dreimark> ThomasWaldmann: thx
2009-08-17T02:21:51  <JosefMeier> I'm sure that twikidraw also uses one. else you couldn't start it through the browser.
2009-08-17T02:23:04  <dreimark> then it must be shown in that controlpanel certificate
2009-08-17T02:23:10  <dreimark> but it doesn't
2009-08-17T02:26:24  <dreimark> JosefMeier: always me has often this problems (that's why I dislike java in browsers)
2009-08-17T02:31:20  <dreimark> JosefMeier: http://moinmo.in/FeatureRequests/JHotDrawSupport?action=AttachFile&do=view&target=JHotDraw.png
2009-08-17T02:31:39  <dreimark> it looks like this if istart it from that attachfile
2009-08-17T02:32:20  <dreimark> and ehem I wonder why they rotate the navigation elements and why you like that
2009-08-17T02:32:59  <JosefMeier> it is how it is
2009-08-17T02:32:59  <dreimark> looking on that I prefer svg-edit
2009-08-17T02:33:01  <JosefMeier> ;-)
2009-08-17T02:33:11  <JosefMeier> play a little bit around with it.
2009-08-17T02:33:28  <JosefMeier> the elements can be freely adjusted
2009-08-17T02:33:37  <JosefMeier> this editor is very customizable
2009-08-17T02:33:55  <JosefMeier> I only adjusted the version which is used in AnyWikiDraw
2009-08-17T02:34:08  <JosefMeier> And they used a Sample from the JHotDraw package
2009-08-17T02:34:27  <dreimark> could it get some color?
2009-08-17T02:34:36  <JosefMeier> there are color selectors
2009-08-17T02:34:40  <JosefMeier> the white squares
2009-08-17T02:34:42  <dreimark> the ui
2009-08-17T02:34:46  <JosefMeier> click on it and you get colors
2009-08-17T02:34:55  <JosefMeier> don't know. but I'm sure
2009-08-17T02:35:05  <JosefMeier> but so it looks like IPod design ;-)
2009-08-17T02:35:15  <JosefMeier> clean white. But thats a matter of taste. i know
2009-08-17T02:36:26  <dreimark> it looks like a bit similiar to tgif which I used before inkscape
2009-08-17T02:36:57  <dreimark> but even that didn't force me to turn my head 90 degree left
2009-08-17T02:38:46  <JosefMeier> you don't like it.
2009-08-17T02:39:21  <dreimark> well it doesn't matter if i like it or not, if it is functional a replacement for twikidraw it is worse to use it.
2009-08-17T02:39:22  <JosefMeier> I think it's funny somehow
2009-08-17T02:39:40  *** amartani has joined #moin-dev
2009-08-17T02:39:47  <JosefMeier> it is "worse to use it" ?
2009-08-17T02:39:52  <JosefMeier> what do you mean?
2009-08-17T02:40:06  <dreimark> oh sorry denglish
2009-08-17T02:41:06  <dreimark> it is written worth or valueable
2009-08-17T02:51:23  <JosefMeier> ok guys. sleep well
2009-08-17T02:51:44  <dreimark> gn
2009-08-17T02:51:52  <ThomasWaldmann> gn
2009-08-17T02:53:57  *** JosefMeier has quit IRC
2009-08-17T03:15:55  *** ser has quit IRC
2009-08-17T03:23:19  *** ser has joined #moin-dev
2009-08-17T07:28:16  *** amartani has quit IRC
2009-08-17T08:32:56  <dennda> moin
2009-08-17T08:46:02  <dreimark> moin
2009-08-17T08:58:10  <dennda> diff works!
2009-08-17T08:58:21  <dennda> all tests pass :-)
2009-08-17T08:58:34  <dennda> (some hacks applied)
2009-08-17T09:00:39  <ThomasWaldmann> moin
2009-08-17T09:01:09  * dennda just ran his wiki on postgres with syspages :-)
2009-08-17T09:01:30  <ThomasWaldmann> why didn#t diff work?
2009-08-17T09:02:52  <dennda> because it was unable to load the data properly
2009-08-17T09:02:55  <dennda> that was a session problem
2009-08-17T09:04:46  <dennda> spam ahead
2009-08-17T09:05:10  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6655:917b12dac3b0 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: rewrite of item.rename
2009-08-17T09:05:12  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6656:904d163ad590 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: close session in iteritems() and history() after iteration has finished
2009-08-17T09:05:14  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6657:56227166d682 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: session fixes
2009-08-17T09:05:15  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6658:dca9f53ea41e 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: publish_metadata fixes
2009-08-17T09:05:17  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6659:69ff86eb8e38 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: further session cleanup
2009-08-17T09:05:19  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6660:0617e5fd0a46 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: rewrite item.list_revisions
2009-08-17T09:05:24  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6661:84de0e30f3c9 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: Data shouldn't need a reference to backend
2009-08-17T09:05:27  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6662:de37205a1e8b 2.0-storage/MoinMoin/storage/ (_tests/test_backends_sqla.py backends/sqla.py): storage: sqla: Proof of concept for close() (using a few hacks). TODO: Cleanup, remove hacks, make a proper TODO list.
2009-08-17T09:05:31  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6663:abe306d0b4b2 2.0-storage/ (7 files in 6 dirs): storage: merge remote 2.0-storage
2009-08-17T09:06:07  <dennda> The biggest problem that needs to be solved after I cleaned it up is: Why the heck does it iterate the syspage items for every request?
2009-08-17T09:06:16  <dennda> After that it should run way better
2009-08-17T09:06:30  <dennda> ThomasWaldmann: ^ give that a try
2009-08-17T09:07:07  <dennda> I had that running on postgres the same way as on sqlite
2009-08-17T09:07:08  * ThomasWaldmann tries
2009-08-17T09:07:17  <dennda> oh and don't comment on the hacks please :D
2009-08-17T09:07:24  * dennda takes a shower and removes them afterwards
2009-08-17T09:12:36  <ThomasWaldmann> Exception AttributeError: "'SQLARevision' object has no attribute 'session'" in <bound method SQLARevision.__del__ of <MoinMoin.storage.backends.sqla.SQLARevision object at 0xb999ccc>> ignored
2009-08-17T09:15:41  <ThomasWaldmann> (and it is very slow and floods of sql going down the screen even for simple requests)
2009-08-17T09:23:59  <dennda> yes, that's what I meant
2009-08-17T09:24:52  <dennda> and removing that exception is easy
2009-08-17T09:24:58  <dennda> besides that?
2009-08-17T09:28:08  *** johill has joined #moin-dev
2009-08-17T09:28:11  <johill> ok this is weird
2009-08-17T09:28:22  <johill> somebody edited the page 'http://wireless.kernel.org/en/users/Support%3Faction%3Duserprefs%26sub%3Dnotification' on my wiki
2009-08-17T09:28:26  <johill> note the %... stuff
2009-08-17T09:28:39  <ThomasWaldmann>     1.51 +                revision.timestamp = long(time.time())
2009-08-17T09:28:41  <johill> however now I can't get rid of it because if I go there moin thinks I actually want ?action=userprefs
2009-08-17T09:28:43  <ThomasWaldmann> long?
2009-08-17T09:28:50  <ThomasWaldmann> moin johill
2009-08-17T09:29:05  <dennda> hey johill
2009-08-17T09:29:31  <johill> hi :)
2009-08-17T09:29:39  <johill> ah, I can if I follow a link in the wiki
2009-08-17T09:29:46  <johill> now I'm confused, but at least the page is gone :P
2009-08-17T09:30:08  <johill> oh
2009-08-17T09:30:10  <johill> no
2009-08-17T09:30:18  <johill> never mind me
2009-08-17T09:30:32  <johill> it's just an evolution/epiphany(browser) interaction problem
2009-08-17T09:30:39  <johill> seems evolution(my mail client) decodes the %.. stuff
2009-08-17T09:31:19  <johill> sorry!
2009-08-17T09:31:37  <ThomasWaldmann> :)
2009-08-17T09:31:42  <waldi> johill: haha
2009-08-17T09:32:09  <ThomasWaldmann> dennda: try flush except ... else commit looks a bit strange
2009-08-17T09:32:22  <ThomasWaldmann> http://hg.moinmo.in/moin/2.0-storage/rev/56227166d682
2009-08-17T09:32:30  <johill> wonder if I can make that into a security vulnerability :P
2009-08-17T09:34:21  <dennda> ThomasWaldmann: what do you mean? (I admit there must be comments
2009-08-17T09:34:35  <dennda> but you have to flush in order to actually see that IntegrityError
2009-08-17T09:34:49  <dennda> it will not be raised if you just add the object to the session
2009-08-17T09:36:18  <ThomasWaldmann> doesn't one usually try to commit (not to flush)?
2009-08-17T09:36:22  <dennda> ThomasWaldmann: if flushing the item worked (i.e., there's no naming conflict) it tries to flush the revision to see whether there's a revision number conflict. if that is not the case as well, it commits
2009-08-17T09:36:26  <dennda> no
2009-08-17T09:36:38  <dennda> the commit() is there, too
2009-08-17T09:36:44  <dennda> 1.66
2009-08-17T09:37:21  <ThomasWaldmann>     1.20 +        revnos = [rev.revno for rev in revisions if rev.id is not None]
2009-08-17T09:37:25  <dennda> but if you commit() prematurely the transaction will be closed and the pending data is flushed before
2009-08-17T09:37:35  <ThomasWaldmann> why is that "if" needed?
2009-08-17T09:38:06  <dennda> and I need to distinguish between ItemAlreadyExistsError and RevisionAlreadyExistsError there
2009-08-17T09:38:16  <dennda> as to your second question:
2009-08-17T09:38:32  <dennda> rev.id is only not None, if the revision is already in persistent storage
2009-08-17T09:39:20  <ThomasWaldmann>     1.19 +        revisions = session.query(SQLARevision).filter(SQLARevision._item_id==self.id).all()
2009-08-17T09:39:22  <dennda> if you don't do the if you'll in some cases end up having revnos in that list that belong to revision that you just created with create_revision() but did not commit() to storage yet, because they are cached
2009-08-17T09:39:28  <dennda> however, yes
2009-08-17T09:39:31  <ThomasWaldmann> so that can return non-persisted revs?
2009-08-17T09:39:37  <dennda> indeed, that doesn't seem really necessary
2009-08-17T09:39:47  <dennda> you're probably right :-)
2009-08-17T09:40:10  <dennda> it's redundant, I think, but didn't hurt either. I'll remove it
2009-08-17T09:40:40  <ThomasWaldmann>     1.14 +    # XXX use reconstructor
2009-08-17T09:40:42  <ThomasWaldmann> ?
2009-08-17T09:40:52  <dennda> there's an sqlalchemy decorator called "reconstructor"
2009-08-17T09:41:11  <dennda> if you decorate a method with that, it will automatically be called (without arguments) after your object is retrieved from the DB
2009-08-17T09:41:20  <dennda> so you don't need to call it manually
2009-08-17T09:44:06  <ThomasWaldmann> ah
2009-08-17T09:46:48  <dennda> ok now we have the same behaviour on sqlite, mysql and postgres
2009-08-17T09:47:28  <ThomasWaldmann> maybe try to have something usable rather soon
2009-08-17T09:47:29  <dennda> i.e., it mostly works, with some hacks, and is terifically slow due to some yet-to-be-squished bug
2009-08-17T09:47:39  <dennda> yes
2009-08-17T09:49:43  <dennda> btw that __del__ will be helpful in finding the places where a session is opened but not closed and may be used as a last resort to close connections
2009-08-17T10:06:20  <dennda> ThomasWaldmann: Is it normal that several items are accessed when I load my page Foo? Such as FindPage, HelpContents, CamelCase...
2009-08-17T10:09:32  <TheSheep> they have the Page object created in order to retrieve the link from it
2009-08-17T10:09:46  <TheSheep> it's in the Theme code
2009-08-17T10:09:57  <dennda> and why are there several requests being issued if I just load my page Foo?
2009-08-17T10:10:03  <dennda> is that normal as well?
2009-08-17T10:10:10  <TheSheep> requests?
2009-08-17T10:10:17  <dennda> contexts
2009-08-17T10:10:22  <dennda> whatever you call it :-)
2009-08-17T10:10:39  <TheSheep> as in http request?
2009-08-17T10:10:42  <dennda> MoinMoin.wsgiapp.init is run several times
2009-08-17T10:10:51  <TheSheep> I have no idea what that is
2009-08-17T10:11:00  <dennda> or am I wrong? let me double check
2009-08-17T10:17:36  *** ronny has quit IRC
2009-08-17T10:22:57  *** ronny has joined #moin-dev
2009-08-17T10:34:13  <ThomasWaldmann> dennda: navibar
2009-08-17T10:38:42  <dennda> i've isolated the problem
2009-08-17T10:39:24  <dennda> in MoinMoin.items you do a search_item(), which performs a search in O(n) because it iterates over all items via iteritems()
2009-08-17T10:39:35  <dennda> and that is highly inefficient for some reason
2009-08-17T10:39:47  <dennda> (yes I did try with .yield_per(1) and the result is the same)
2009-08-17T10:40:16  <ThomasWaldmann> how is that related to a normal show request being so slow?
2009-08-17T10:40:39  <dennda> well that's what I should ask you, because for some reason that search_item code is invoked if you do_show()
2009-08-17T10:40:53  <johill> add a stack dump to it?
2009-08-17T10:41:07  <dennda> johill: -v
2009-08-17T10:41:51  <dennda> ThomasWaldmann: when tracing it I got past something with building an index or so
2009-08-17T10:42:10  <johill> dict index thing?
2009-08-17T10:42:14  <ThomasWaldmann> if it is a nonexisting items, it searches the templates
2009-08-17T10:42:23  <dennda> it's in get_index
2009-08-17T10:42:40  <dennda> well, the item does exist
2009-08-17T10:42:48  <ThomasWaldmann> and for any existing item, it searches subitems
2009-08-17T10:43:00  <dennda> and it not only searches the templates but iterates over all items that are in the backend
2009-08-17T10:43:21  <dennda> (due to the way backend.search_item works9
2009-08-17T10:43:23  <johill> some of the search code was never converted to the backend search afaik?
2009-08-17T10:43:47  <dennda> what do you mean by "converted"? "implemented on the specific backend"?
2009-08-17T10:43:52  <ThomasWaldmann> anyway, going over all item names should be piece of cake
2009-08-17T10:44:19  <johill> dennda: no, I thought there are still places that "open code" a search by getting all item names, and looking at them etc
2009-08-17T10:44:54  <dennda> johill: doesn't apply here. your generic search_item method is used
2009-08-17T10:45:01  <johill> ah cool
2009-08-17T10:45:07  <johill> which is the same though
2009-08-17T10:45:17  <dennda> johill: does that need the whole item or does the name suffice?
2009-08-17T10:45:23  <johill> but that's because you don't implement it, I guess?
2009-08-17T10:45:27  <dennda> yes
2009-08-17T10:45:35  <johill> it does want the item
2009-08-17T10:45:41  <johill> but it can be lazily instantiated
2009-08-17T10:45:45  <dennda> hm ok that's bad
2009-08-17T10:46:03  <johill> iirc
2009-08-17T10:46:32  <dennda> because if it wants the whole item that means issuing quite a bit of sql here to construct it
2009-08-17T10:46:39  <dennda> and doing that for every item results in the slowness
2009-08-17T10:47:02  <dennda> I'm unsure whether I can do that better if I override search_item
2009-08-17T10:47:14  <johill> but why do you need sql to construct it?
2009-08-17T10:47:21  <johill> you should only need the item's name and ID
2009-08-17T10:47:45  <dennda> aha so you don't need the whole item? :-)
2009-08-17T10:48:10  <johill> well what do you mean by "whole item"?
2009-08-17T10:48:16  <johill> it should be possible to access item.revisions
2009-08-17T10:48:17  * ThomasWaldmann doubts the item stuff is lazy enough
2009-08-17T10:48:23  <johill> but _that_ should be lazy
2009-08-17T10:49:11  <johill> it depends on the search query what we need
2009-08-17T10:49:19  <johill> so it should be lazy so we only load stuff we need for that query
2009-08-17T10:49:28  <johill> but that really applies _everywhere_
2009-08-17T10:49:39  <johill> if you're instantiating an item to get a URL to it, you don't need the revisions
2009-08-17T10:49:46  <dennda> meh
2009-08-17T10:49:52  <dennda> revisions aren't loaded lazily
2009-08-17T10:50:01  <ThomasWaldmann> X)
2009-08-17T10:50:02  <johill> or even metadata
2009-08-17T10:50:51  <johill> so the API uses item everywhere, but there's no reason to have the item pre-filled for most operations
2009-08-17T10:51:27  <dennda> true
2009-08-17T10:51:32  <johill> even if you're pre-loading metadata you're much less efficient than should be
2009-08-17T10:52:04  <dennda> johill: you said it needs access to item.revisions. do you mean access to get_revision / list_revisions? (because we didn't add something like Item.revisions as an attribute to the API)
2009-08-17T10:52:41  <johill> uh yes I guess so, I removed memory of specific calls ;)
2009-08-17T10:52:55  <johill> well but I don't think I said it needs it
2009-08-17T10:53:05  <johill> it _may_ need it, depending on the search query term
2009-08-17T10:53:09  <dennda> yes yes :-)
2009-08-17T10:53:28  <johill> so the item really must be a fully-featured item, but should not be preloaded
2009-08-17T10:54:01  <dennda> ok, I did that rather wrong then :-)
2009-08-17T10:54:35  <johill> my sqlite code would only load the name and the item ID when instantiating an item
2009-08-17T10:54:41  <johill> everything else was loaded lazily, iirc
2009-08-17T10:55:09  <dennda> where is that sqlite code? Oo
2009-08-17T10:56:01  <dennda> i see what the problem is
2009-08-17T10:56:04  <johill> no idea
2009-08-17T10:56:07  <dennda> ThomasWaldmann: guess what lazy=True means :-)
2009-08-17T10:56:08  <johill> I htought it was in hg
2009-08-17T10:56:32  <dennda> ThomasWaldmann: load the *entire collection* lazily upon first access
2009-08-17T10:56:41  <dennda> we need lazy='dynamic' here
2009-08-17T10:56:50  <ThomasWaldmann> johill: btw, josef meier and me fixed the fs code for win32
2009-08-17T10:56:56  <johill> nice
2009-08-17T10:57:14  <dennda> oh is that completely fixed already?
2009-08-17T10:57:34  <ThomasWaldmann> it uses filesys.rename* now
2009-08-17T10:57:56  <johill> well that was easier after you added explicit closing
2009-08-17T10:58:01  <ThomasWaldmann> of course that doesn't make rename atomic
2009-08-17T10:58:29  <johill> true
2009-08-17T10:58:36  <ThomasWaldmann> but I found out that the place using the hardlink was kind of win32-rename semantics
2009-08-17T10:59:13  <johill> hardlink? can't even remember that
2009-08-17T10:59:54  <johill> ah some of the commit logic
2009-08-17T10:59:57  <ThomasWaldmann> http://hg.moinmo.in/moin/2.0-storage/rev/7870fbfd490a
2009-08-17T11:01:02  <johill> yeah that seems about right
2009-08-17T11:01:29  <johill> yeah, since it's a file, not a dir
2009-08-17T11:04:13  <johill> except I'm not sure the errno will be correct
2009-08-17T11:04:32  <johill> are you sure this won't propagate out an OSError on win32?
2009-08-17T11:04:39  <ThomasWaldmann> we checked that for win32 and existing dst files, existing open dst files
2009-08-17T11:04:55  <johill> ok
2009-08-17T11:04:59  <johill> so it does give EEXIST
2009-08-17T11:05:09  <ThomasWaldmann> yes
2009-08-17T11:05:13  <johill> good
2009-08-17T11:05:53  <ThomasWaldmann> i also added some missing close() recently
2009-08-17T11:06:51  <johill> :)
2009-08-17T11:06:51  <johill> I'm happy this is coming along well
2009-08-17T11:06:58  <johill> but I should fix a wireless kernel bug now ;)
2009-08-17T11:07:25  <waldi> dennda: why do you check for MultipleResultsFound, if the database should already make this unique?
2009-08-17T11:08:25  <dennda> waldi: that'll be removed, you're right
2009-08-17T11:10:25  <ThomasWaldmann> johill: a problem is that the fs backend is designed to keep files open
2009-08-17T11:10:47  <johill> yeah I know, the entire API was kinda designed that way
2009-08-17T11:11:22  <ThomasWaldmann> so e.g. list(backend.iteritems()) will break it
2009-08-17T11:11:41  <ThomasWaldmann> if itemcount > file handles available
2009-08-17T11:12:03  <ThomasWaldmann> that's not quite the api, but i guess you did it for performance
2009-08-17T11:12:17  <johill> right, well
2009-08-17T11:12:22  <johill> the API has this lazy loading stuff
2009-08-17T11:12:28  <johill> which the fs backend kinda implements with the fd
2009-08-17T11:14:08  <ThomasWaldmann> what's also a bit of a problem is that O(n^2) behaviour of fs/cdb when loading many items at once
2009-08-17T11:14:50  <ThomasWaldmann> but I guess I can fix that by a special clone implementation (at least for the cases where clone is used to do that)
2009-08-17T11:14:54  <waldi> dennda: I have to admit that I find this in-class table definition stuff unreadable. The definitions are scattered over the complete file. I always write them extern because I'm able to define arbitrary joins then
2009-08-17T11:15:01  <johill> readdir()? not sure what you mean
2009-08-17T11:15:21  <dennda> waldi: oh you use sqlalchemy yourself?
2009-08-17T11:15:46  <ThomasWaldmann> johill: no, that cdb is copied entry-by-entry when a new entry (item) is added
2009-08-17T11:15:53  <johill> ah that
2009-08-17T11:16:54  <waldi> dennda: yes
2009-08-17T11:17:03  <dennda> waldi: well, that can be changed later on without breaking anything, can't it?
2009-08-17T11:17:17  <dennda> you just abandon declarative and set the mapping up yourself
2009-08-17T11:17:35  <waldi> dennda: yep
2009-08-17T11:17:40  <johill> ThomasWaldmann: so you mean storing, not loading?
2009-08-17T11:17:55  <ThomasWaldmann> dennda: few hours left, please concentrate on fixing
2009-08-17T11:18:36  <ThomasWaldmann> johill: the default implementation of clone adds a lot of items, one after the other
2009-08-17T11:18:56  <johill> right
2009-08-17T11:19:09  <ThomasWaldmann> e.g. when unserializing syspages.xml into memory backend and then cloning memory -> fs
2009-08-17T11:19:44  <johill> yeah I can see how that might be troubling
2009-08-17T11:19:51  <johill> is there a way to override the clone from the target backend?
2009-08-17T11:20:00  <ThomasWaldmann> yes, since recently
2009-08-17T11:20:07  <johill> neat
2009-08-17T11:20:19  <ThomasWaldmann> i just moved it there
2009-08-17T11:20:25  <waldi> dennda: you want to use DateTime for timestamps
2009-08-17T11:20:34  <ThomasWaldmann> brb
2009-08-17T11:21:36  <ronny> datetime for timestamps is fail
2009-08-17T11:21:57  <ronny> its practically unaware of timezone
2009-08-17T11:22:49  <waldi> ronny: irrelevant in this context
2009-08-17T11:23:13  <dennda> waldi: the api wants a unix timestamp
2009-08-17T11:24:21  <waldi> dennda: fix the API to use datetime.* or convert it in the backend. _never_ save unix timestamps in a database
2009-08-17T11:27:32  <dennda> waldi: what's wrong with that?
2009-08-17T11:37:03  <waldi> it does not describe the semantic, so you can't use date arithmetic on the values
2009-08-17T11:38:31  <waldi> http://groups.google.de/group/de.comp.datenbanken.mysql/browse_frm/thread/60acb87b2522c86e for example
2009-08-17T11:43:35  <ThomasWaldmann> no timestamp change NOW
2009-08-17T11:44:00  <ThomasWaldmann> we have problems with higher prio
2009-08-17T11:44:50  <dennda> sure
2009-08-17T11:56:48  <ThomasWaldmann>             self.engine = create_engine(db_uri, poolclass=StaticPool, connect_args={'check_same_thread': False})
2009-08-17T11:56:51  <ThomasWaldmann>         else:
2009-08-17T11:56:54  <ThomasWaldmann>             self.engine = create_engine(db_uri, echo=verbose, echo_pool=True)
2009-08-17T11:57:03  <ThomasWaldmann> why is it using different settings for testing than else?
2009-08-17T12:03:25  <ThomasWaldmann> if doing session.close() is important, then quite some try: ... finally: session.close() are missing
2009-08-17T12:06:36  <dennda> that's a limitation of the in-memory sqlite database
2009-08-17T12:06:54  <dennda> ThomasWaldmann: at some places that should not be done, that's why revision.close() is needed
2009-08-17T12:08:49  <dennda> oh and besides, it needs to be either .close() OR .commit()/.rollbac()
2009-08-17T12:08:53  <dennda> *rollback
2009-08-17T12:11:26  <ThomasWaldmann>             revision._data.close()
2009-08-17T12:11:41  <ThomasWaldmann> line 221. should that be before it gets added to the session?
2009-08-17T12:12:31  <waldi>   File "/home/bastian/nobackup/moin/2.0-storage/MoinMoin/macro/TableOfContents.py", line 144, in macro_TableOfContents
2009-08-17T12:12:34  <waldi>     pname = macro.formatter.page.page_name
2009-08-17T12:12:34  <waldi> oh
2009-08-17T12:13:54  <dennda> ThomasWaldmann: yes
2009-08-17T12:14:13  <ThomasWaldmann>         if item.id is None and self.has_item(item.name):
2009-08-17T12:14:13  <ThomasWaldmann>             raise ItemAlreadyExistsError("The Item whose metadata you tried to publish already exists.")
2009-08-17T12:14:33  <ThomasWaldmann> shouldn't that be just tried and the exception getting catched?
2009-08-17T12:15:59  <ThomasWaldmann>         try:
2009-08-17T12:16:00  <ThomasWaldmann>             self._item_metadata_lock[item.id].release()
2009-08-17T12:16:00  <ThomasWaldmann>         except KeyError:
2009-08-17T12:16:23  <ThomasWaldmann> release() maybe contains quite some code that could raise a KeyError, too
2009-08-17T12:18:27  <dennda> yes
2009-08-17T12:19:51  <ThomasWaldmann> same thing in get_revision
2009-08-17T12:25:27  <ThomasWaldmann> read() can be simplified by doing:
2009-08-17T12:25:38  <dennda> ok the problem seems data/chunk related
2009-08-17T12:25:43  <ThomasWaldmann> available = self.size - self.cursor_pos
2009-08-17T12:25:58  <ThomasWaldmann> if ...:
2009-08-17T12:26:07  <ThomasWaldmann>     amount = available
2009-08-17T12:26:27  <dennda> I now load revisions and metadata lazily when they are needed, but that didn't help that much. I then switched from Data to just Column(String) for testing and now it's fscking fast
2009-08-17T12:29:14  <ThomasWaldmann> last could be computed in the same way as first, skip
2009-08-17T12:30:52  <ThomasWaldmann> and the 2nd element of that computation result is what you need a few lines later
2009-08-17T12:31:44  <ThomasWaldmann> write still doesn't update cursor_pos, WTF?
2009-08-17T12:33:28  <dennda> sorry, forgot
2009-08-17T12:35:23  <ThomasWaldmann> SQLARevision.read/write/tell/seek all operate on _data
2009-08-17T12:35:29  <ThomasWaldmann> but close doesn't
2009-08-17T12:36:22  <dennda> that's on purpose
2009-08-17T12:36:33  <ThomasWaldmann> and where do you call Data.close?
2009-08-17T12:36:39  <dennda> commit()
2009-08-17T12:37:58  <ThomasWaldmann> strange...
2009-08-17T12:38:57  <dennda> well you close() writing to a rev by calling commit(), and close() is needed so that connections that were established for using the rev can be freed again
2009-08-17T12:42:58  <dennda> ok, ignoring some failing testcases, it's now fast if the backend is not filled with much data (i.e., you set preloaded_xml = None and use an empty db)
2009-08-17T12:43:23  <dennda> I am unsure how to make iteritems/history faster though. that looks like a sql query optimization problem
2009-08-17T12:43:46  <ThomasWaldmann> it's even faster if you don't use it at all :P
2009-08-17T12:43:47  <dennda> let me commit this stuff and apply the changes you requested
2009-08-17T12:44:18  <dennda> well the problem can be described easily: iteritems/history doesn't scale :-)
2009-08-17T12:44:41  <ThomasWaldmann> bbl
2009-08-17T12:52:07  *** franklin_ has quit IRC
2009-08-17T12:52:10  *** franklin has joined #moin-dev
2009-08-17T13:27:22  <ThomasWaldmann>     2.82 +    _item = relation(SQLAItem, backref=backref('_revisions', order_by=id, lazy=False, cascade='delete, delete-orphan'), cascade='', uselist=False, lazy=False)
2009-08-17T13:27:29  <ThomasWaldmann> why is lazy False there?
2009-08-17T13:27:42  <dennda> I already removed that here
2009-08-17T13:27:50  <dennda> will push soon
2009-08-17T13:32:22  <ThomasWaldmann> i also would like to see some comments about "WHY" for non-default sqla call params
2009-08-17T13:32:33  <dennda> sure
2009-08-17T14:03:55  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6664:9d2109bcb2da 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: use deferred loading for columns that may be accessed lazily
2009-08-17T14:03:57  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6665:3e6ae651c4ee 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: simple code fixes / remove redundant code
2009-08-17T14:09:52  <ThomasWaldmann> waldi: the macro problem in the storage branch is likely due to the unfinished code changes (Page -> Items), but fixing that is not part of the Storage2009 project.
2009-08-17T14:10:18  <ThomasWaldmann> (there is lots of other stuff broken, btw, not just macros)
2009-08-17T14:15:04  <ThomasWaldmann> dennda: why is backref _revisions gone now?
2009-08-17T14:15:12  <dennda> because it wasn't used anyway
2009-08-17T14:16:45  <ThomasWaldmann> and why do you still import it?
2009-08-17T14:17:23  <ThomasWaldmann> same question for StringIO, String
2009-08-17T14:17:46  <dennda> because I havn't cleaned up yet %-)
2009-08-17T14:22:35  <ThomasWaldmann> and why is it long(time.time()) still?
2009-08-17T14:24:11  <ThomasWaldmann> dennda: s/postgres/PostgreSQL/g - that's the official project name
2009-08-17T14:24:25  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6666:2b155f2947b9 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: don't use long for timestamps, but int
2009-08-17T14:24:56  <ThomasWaldmann> (and, IIRC, there was also "Postgres" long ago and that was not SQL)
2009-08-17T14:25:26  <dennda> ok
2009-08-17T14:25:39  <dennda> I'm trying to find out how iteritems/history can be sped up
2009-08-17T14:25:47  <dennda> i'll apply the outstanding changes afterwards
2009-08-17T14:26:23  <ThomasWaldmann> maybe first think about the problem and the goal
2009-08-17T14:26:36  <dennda> problem: too slow. goal: make it faster
2009-08-17T14:26:48  <dennda> :-)
2009-08-17T14:26:52  <ThomasWaldmann> your comment about scalability didn't make too much sense to me (at least not without further info)
2009-08-17T14:29:20  <ThomasWaldmann> (12:44) <    dennda> well the problem can be described easily: iteritems/history doesn't scale :-)
2009-08-17T14:29:29  <dennda> well the problem is that there are way too many queries being issued
2009-08-17T14:29:40  <ThomasWaldmann> was that a comment about storage api design in general or your sqla implementation?
2009-08-17T14:30:30  <dennda> sqla implementation. you can't iterate the list of items faster than O(n)
2009-08-17T14:30:57  <dennda> but due to iterating over session.query(SQLAItem), a query was issued for every single item
2009-08-17T14:31:31  <dennda> and since most of the time you use iteritems() you want them all anyways, I think I'll change that to all_items = session.query(SQLAItem).all(); for item in all_items: yield item
2009-08-17T14:31:35  <dennda> same for history
2009-08-17T14:31:45  <dennda> but still, there are way to many queries
2009-08-17T14:34:01  <ThomasWaldmann> dennda: please add sqla 0.5.5 + "is not None" patch to MoinMoin.support
2009-08-17T14:34:38  <dennda> just put it in the folder and use MoinMoin.support.sqlalchemy?
2009-08-17T14:34:38  <ThomasWaldmann> (2 commits)
2009-08-17T14:34:53  <ThomasWaldmann> you don't need to change your imports
2009-08-17T14:35:26  <ThomasWaldmann> MoinMoin/support is in sys.path
2009-08-17T14:35:54  <dennda> ok
2009-08-17T14:38:19  <dennda> ThomasWaldmann: does loading all revs/ all items in history/iteritems at once sound sane? that'd make them much more efficient if you want all revisions/items anyways. but e.g. if recent changes only lists the topmost 20 revs, it's gonna be slower.
2009-08-17T14:40:46  <ThomasWaldmann> if that is efficient for sqla, you may do that. you must not do that in general, fs backend would explode.
2009-08-17T14:41:28  <ThomasWaldmann> that was for iteritems, btw. I don't see much sense in doing that for history.
2009-08-17T14:43:46  * ThomasWaldmann runs tests on ubuntu 8.04
2009-08-17T14:44:45  <dennda> 10 will fail
2009-08-17T14:45:00  <ThomasWaldmann> ====================================== tests finished: 1438 passed, 421 failed, 30 skipped in 43.64 seconds =======================================
2009-08-17T14:45:09  <dennda> Oo
2009-08-17T14:45:55  <ThomasWaldmann> mayb it is because it is changeset 6666 :P
2009-08-17T14:46:25  <dennda> not yet ;)
2009-08-17T14:46:32  <ThomasWaldmann> btw, as it doesn't have sqlalchemy yet, that doesn't include sqla failures
2009-08-17T14:47:27  <dennda> umm and where do those come from?
2009-08-17T14:48:04  <dennda> it does have python 2.5, doesn't it?
2009-08-17T14:49:08  <ThomasWaldmann> yes
2009-08-17T14:49:17  <ThomasWaldmann> i fetch a fresh clone right now
2009-08-17T14:55:27  <dennda> ThomasWaldmann: what are the "templates" you referred to this morning? and with subitems, did you mean Foo/Bar and Foo/Baz for Foo?
2009-08-17T14:58:49  <ThomasWaldmann> e.g. HomepageTemplate
2009-08-17T14:59:04  <ThomasWaldmann> yes, sub items are like sub pages
2009-08-17T14:59:26  <ThomasWaldmann> see the rendering of an item that has subitems, you get a list of them at the bottom
2009-08-17T14:59:41  <dennda> http://paste.pocoo.org/show/134782/
2009-08-17T14:59:46  <dennda> why does it print everything twice?
2009-08-17T14:59:49  <dennda> is that a logging issue?
2009-08-17T15:01:07  <ThomasWaldmann> yes, see you logging.conf
2009-08-17T15:01:36  <ThomasWaldmann> there is some propagate setting
2009-08-17T15:03:34  <dennda> what do I need to set it to?
2009-08-17T15:03:41  <dennda> 1 didn't change anything (was 0)
2009-08-17T15:06:18  <ThomasWaldmann> http://pastebin.com/f3e99bb4c test results from a fresh clone, just ran py.test from the toplevel dir
2009-08-17T15:07:47  <dennda> strange
2009-08-17T15:12:52  <ThomasWaldmann> ii  python-codespeak-lib                       0.9.0-3.1                                         The pylib library containing py.test, greenl
2009-08-17T15:12:58  <ThomasWaldmann> is that the problem?
2009-08-17T15:13:18  <dennda> perhaps
2009-08-17T15:13:48  <dennda> run wikiserver. you should notice soon
2009-08-17T15:14:05  <dennda> (at least if it's unable to construct a backend there as well)
2009-08-17T15:15:25  <dennda> hm
2009-08-17T15:15:38  <dennda> LastRevisionMetaDataMatch
2009-08-17T15:16:07  <dennda> that means even if I preloaded all items at once, it will still issue a query a) for each items revision, b) for that revisions metadata
2009-08-17T15:18:10  <dennda> and if I override search_item and load those eagerly as well, it will need to be adjusted if someone else uses another searchterm
2009-08-17T15:19:53  <dennda> I don't think solving that is trivial
2009-08-17T15:25:21  *** dreimark has quit IRC
2009-08-17T15:25:25  *** dreimark has joined #moin-dev
2009-08-17T15:30:57  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6667:d0c275300032 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: backend.iteritems(): use a single query only
2009-08-17T15:32:46  <dennda> hehe, if you save a page it is created in Trash/ at the same time
2009-08-17T15:33:15  <xorAxAx> omg
2009-08-17T15:37:23  <dennda> ThomasWaldmann: I'm not sure I understand your "read() simplification" comment
2009-08-17T15:54:22  <dimazest> moin
2009-08-17T15:55:55  <dimazest> dreimark: how can i do a brawser test?
2009-08-17T15:58:05  <ThomasWaldmann> dennda: your code does simple things complicated :)
2009-08-17T15:59:05  <ThomasWaldmann> the first half of that code can be reduced to just compute the right amount (if None / -x is given) and the lower half of that code will then happily work with that amount
2009-08-17T16:00:18  <dennda> will take a look. btw, as I don't quite see how to properly speed that thing up I will focus on docs, cleanup and bugfixes
2009-08-17T16:01:21  <dennda> i will also assemble a list of todos
2009-08-17T16:05:11  <dennda> 4:55 to go :-)
2009-08-17T16:08:05  <ThomasWaldmann> don't miss the train/plane/whatever
2009-08-17T16:08:38  <dennda> train then plane, but before that I need to pack my stuff and such things :-)
2009-08-17T16:09:26  <ThomasWaldmann> sqla still missing
2009-08-17T16:09:47  <dennda> just downloading it
2009-08-17T16:11:34  <dennda> i guess we don't want the docs but just the lib/sqlalchemy subfolder
2009-08-17T16:12:30  * dennda rips out test folder as well
2009-08-17T16:13:29  <ThomasWaldmann> just the lib, and the license goes to docs/licens*....
2009-08-17T16:15:15  <dennda> in a subfolder? it's just one file
2009-08-17T16:17:13  <dennda> I'll just add it as a file...
2009-08-17T16:20:49  <ThomasWaldmann> one needs to see to what it belongs
2009-08-17T16:21:33  <ThomasWaldmann> dimazest: how is it going?
2009-08-17T16:23:34  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6668:40f18885d7ed 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: reintroduce _revisions backref (for cascaded deletions)
2009-08-17T16:23:36  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6669:495edfb380eb 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: docs for Data.write
2009-08-17T16:23:37  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6670:ea1e9298413d 2.0-storage/ (65 files in 7 dirs): storage: Add SQLAlchemy to MoinMoin.support
2009-08-17T16:23:39  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6671:88681a6b7dc9 2.0-storage/MoinMoin/support/sqlalchemy/orm/state.py: storage: Apply 'is None' patch for SQLAlchemy. This changeset can be backed out if a new version that incorporates the patch is added. See http://www.sqlalchemy.org/trac/ticket/1501 for further reference
2009-08-17T16:23:43  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6672:ec9657c2114e 2.0-storage/MoinMoin/storage/_tests/test_backends_sqla.py: storage: remove unnecessary sqlalchemy imports from the tests
2009-08-17T16:24:37  <ThomasWaldmann> dennda: giving the sqla version in the comment wouldn't have been that far fetched...
2009-08-17T16:25:08  <dennda> true
2009-08-17T16:26:06  <dreimark> dimazest: sorry was occupied, what exactly do you want to test?
2009-08-17T16:26:22  <ThomasWaldmann> dreimark: "busy" :)
2009-08-17T16:27:03  <dreimark> yeah
2009-08-17T16:36:41  <dimazest> ThomasWaldmann: so lala, fixing groups bug
2009-08-17T16:38:21  <dimazest> dreimark: you wrote me < dreimark> dimazest: JosefMeier ^
2009-08-17T16:41:10  <dimazest> dreimark: http://paste.pocoo.org/show/134792/ this should fix SyncPages
2009-08-17T16:41:15  <dimazest> should i commit?
2009-08-17T16:42:23  <dreimark> do you have tried the action?
2009-08-17T16:43:27  <dimazest> how can i try it?
2009-08-17T16:44:27  <dreimark> you can at first select the action from the more action menu
2009-08-17T16:45:16  <dreimark> I'll try later with two standalonw wikis. I do this by
2009-08-17T16:45:34  <dreimark> creating a new clone and setting the port from one to 8081
2009-08-17T16:45:48  <dreimark> then I give one a interwikiname which I add to InterWikiMap
2009-08-17T16:46:02  <dimazest> ok
2009-08-17T16:46:14  <dreimark> then I create a SyncJob from the template page and try to get it synced
2009-08-17T16:47:57  <ThomasWaldmann> dimazest: if that fixes an attribute error, sure...
2009-08-17T16:48:36  * ThomasWaldmann brb (kernel upgrade)
2009-08-17T16:49:10  *** ThomasWaldmann has quit IRC
2009-08-17T16:49:10  *** dreimark has quit IRC
2009-08-17T16:52:04  *** ThomasWaldmann has joined #moin-dev
2009-08-17T16:52:20  <ThomasWaldmann> re
2009-08-17T16:53:37  <ThomasWaldmann> anyone having a problem with a (hopefully quick) reboot of *.moinmo.in?
2009-08-17T16:53:50  <ThomasWaldmann> (at least the shell.moinmo.in survived it :)
2009-08-17T16:54:05  <dennda> haha
2009-08-17T16:54:15  <dennda> it's so going to fail
2009-08-17T16:54:30  *** dreimark has joined #moin-dev
2009-08-17T16:54:36  <dreimark> re
2009-08-17T16:55:17  <ThomasWaldmann> dennda: would be great timing, yeah :)
2009-08-17T16:55:32  <dennda> that's why it's gonna fail horribly
2009-08-17T16:55:37  <ThomasWaldmann> dvcs ftw
2009-08-17T16:55:39  <dennda> it would work on any other day
2009-08-17T16:56:11  <ThomasWaldmann> how's the internet on the canaries? :D
2009-08-17T16:57:00  <dennda> I neither know nor do I care :-)
2009-08-17T16:57:18  <dennda> no electrical devices around me for 1w
2009-08-17T17:00:48  *** moinBot has joined #moin-dev
2009-08-17T17:01:29  <ThomasWaldmann> that was a bit less pain than the last reboot :)
2009-08-17T17:04:11  <ThomasWaldmann> now with 6 VCPUs :D
2009-08-17T17:04:49  <ThomasWaldmann> but it will be still to slow for 2.0-storage :D
2009-08-17T17:09:10  *** dreimark_ has joined #moin-dev
2009-08-17T17:09:16  *** dreimark has quit IRC
2009-08-17T17:09:38  *** dreimark_ is now known as dreimark
2009-08-17T17:42:16  <dimazest> dreimark: any ideas? http://paste.pocoo.org/show/134803/
2009-08-17T17:42:41  *** johill has left #moin-dev
2009-08-17T17:53:47  *** amartani has joined #moin-dev
2009-08-17T17:59:26  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6673:0a237f0d6738 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: Make console output less noisy
2009-08-17T17:59:29  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6674:27bf0d7242b6 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: Fix crash for first request after wikiserver was started
2009-08-17T18:01:35  <dreimark> dimazest: me looks and it doesn't fail for me
2009-08-17T18:02:16  <dreimark> what do I have to do to break it?
2009-08-17T18:14:01  <dimazest> dreimark: for me this line throws an exception http://paste.pocoo.org/show/134792/
2009-08-17T18:14:06  <dimazest> .update()
2009-08-17T18:14:30  <dimazest> may be it is because of python
2009-08-17T18:16:31  <dimazest> on 2.4, 2.5 update throws the exception
2009-08-17T18:17:33  *** ronny has quit IRC
2009-08-17T18:17:59  * dreimark looks at tests after changing that line
2009-08-17T18:18:34  <dimazest> no, that test is new
2009-08-17T18:22:13  <dreimark> no idea currently. I look later on it again, going home now
2009-08-17T18:22:53  <dimazest> dreimark: http://paste.pocoo.org/show/134818/ this it patch with test
2009-08-17T18:31:58  *** JosefMeier has joined #moin-dev
2009-08-17T18:32:04  <JosefMeier> Moin :-)
2009-08-17T18:35:27  <dimazest> dreimark: http://paste.pocoo.org/show/134818/ this it patch with test
2009-08-17T18:35:35  <dimazest> sorry
2009-08-17T18:39:27  <ThomasWaldmann> 29516 tw        20   0 4429m 4.1g 3732 S  100 53.0   2:52.12 python
2009-08-17T18:39:41  <ThomasWaldmann> buy more memory before moin2 comes out :)
2009-08-17T18:41:41  <dreimark> re
2009-08-17T18:42:20  * dreimark gets a coffee 
2009-08-17T18:43:54  * dimazest trinkt grünen Tee
2009-08-17T18:44:18  * ThomasWaldmann drinks unpure H2O
2009-08-17T18:44:53  <JosefMeier> drinking beer and getting angry about bad internet explorer effects
2009-08-17T18:45:04  <dreimark> crap
2009-08-17T18:45:07  <JosefMeier> how do you change your font style? I'm feeling discriminated
2009-08-17T18:46:22  <dennda> /me foo bar
2009-08-17T18:46:41  * JosefMeier foo bar?
2009-08-17T18:46:43  <JosefMeier> ah
2009-08-17T18:46:51  * JosefMeier ah
2009-08-17T18:47:23  <JosefMeier> found a serious bug in GUI editor which will crash IE
2009-08-17T18:47:26  <JosefMeier> every IE
2009-08-17T18:47:46  <JosefMeier> the bug isnt in GUI editor itself rather than the moinmoin overrides
2009-08-17T18:48:17  <dennda> god bless that bug
2009-08-17T18:48:19  <JosefMeier> try to insert a normal TWikiDrawing or MoinMoinDrawing set the cursor right of it and press enter. BAM!
2009-08-17T18:48:49  <dreimark> dimazest: I can reproduce that behaviour
2009-08-17T18:48:50  <TheSheep> we need more of those, maybe people would stop using ie
2009-08-17T18:49:07  <dimazest> dennda: :) it would be nice if it crashed them all, sisimultaneously
2009-08-17T18:49:08  <JosefMeier> more of those what?
2009-08-17T18:49:19  <TheSheep> just joking, please ignore me
2009-08-17T18:49:19  <dreimark> features
2009-08-17T18:49:30  <JosefMeier> Sheep: I don't want to ignore you.
2009-08-17T18:49:33  <JosefMeier> ah
2009-08-17T18:49:35  * TheSheep <-- bitter from doing too much css with "has to work on msie" requirements
2009-08-17T18:49:55  <dreimark> TheSheep: without works ;)
2009-08-17T18:50:12  <JosefMeier> is there a way to get a common icon lib for every theme?
2009-08-17T18:50:24  <JosefMeier> I want to add a edit Icon with MoinMoinDraw which works in all themes
2009-08-17T18:50:58  <TheSheep> not possible atm
2009-08-17T18:50:58  <dreimark> well if the icon is in svg it can use css attributes
2009-08-17T18:51:23  <TheSheep> what icon?
2009-08-17T18:51:32  <dreimark>  edit Icon
2009-08-17T18:51:47  <TheSheep> there is an edit icon in moin icons already
2009-08-17T18:51:58  <TheSheep> moin-edit.png
2009-08-17T18:52:42  <dimazest> dreimark: any solutions? we can use for key in dict: options[key] = dict[key]
2009-08-17T18:52:46  <JosefMeier> thesheep:  have you tried MoinMoinDraw already?
2009-08-17T18:53:36  <TheSheep> no, can't say I have
2009-08-17T18:53:52  <TheSheep> I'd have to install java
2009-08-17T18:53:54  <JosefMeier> Maybe you miss something
2009-08-17T18:53:58  <JosefMeier> yes. you'd have
2009-08-17T18:54:05  <TheSheep> and a browser that can run java applets
2009-08-17T18:54:14  <dreimark> dimazest: me is trying to understand that behavioir first
2009-08-17T18:54:15  <TheSheep> and that's too much bother :)
2009-08-17T18:54:21  <JosefMeier> In which year do you live :-)
2009-08-17T18:54:35  <dreimark> dimazest: may be you could look meanwhile on that search issue
2009-08-17T18:54:42  <TheSheep> JosefMeier: the one in which Google rules the world
2009-08-17T18:54:59  <JosefMeier> ah
2009-08-17T18:55:07  <TheSheep> chrome doesn't do plugins yet
2009-08-17T18:55:37  * dreimark prefers a good javascript editor instead of java dependency
2009-08-17T18:56:11  * TheSheep prefers inkscape
2009-08-17T18:56:28  <dimazest> dreimark: http://docs.python.org/library/stdtypes.html#dict.update it iterates over a BaseDict
2009-08-17T18:56:54  <JosefMeier> dreimark: show me one :-)
2009-08-17T18:57:00  <dimazest> gets first key (which is string) whith len > 2
2009-08-17T18:57:42  <dimazest> dreimark: since it excepts something with len == 2, it throws an exception
2009-08-17T18:59:42  <dimazest> (that is my understanding) nice solution is to define some method like iteritems()
2009-08-17T19:07:14  *** JosefMeier has quit IRC
2009-08-17T19:07:15  *** amartani has quit IRC
2009-08-17T19:09:16  *** ronny has joined #moin-dev
2009-08-17T19:15:18  <dreimark> dimazest: i think the text of stdtypes.html#dict.update is rather meant that it needs to be a tuple of length two
2009-08-17T19:18:56  *** grzywacz has joined #moin-dev
2009-08-17T19:20:39  <dreimark> and _dict is a Wikidict or configDict
2009-08-17T19:46:49  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6675:c4f0eba20f1b 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: don't use deferred loading for now. that's not the main problem anyway.
2009-08-17T19:46:51  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6676:16e55908074b 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: Fixes for destroy. Destroy the data/chunks as well. (i.e., cascade the delete)
2009-08-17T20:22:39  <ThomasWaldmann> dennda: if there are forms to fill out, do it in time
2009-08-17T20:28:19  <dennda> yes
2009-08-17T21:00:15  <CIA-38> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 6677:5396bfcd47be 2.0-storage/MoinMoin/storage/backends/sqla.py: storage: sqla: docs
2009-08-17T21:00:55  <dennda> JIT :D
2009-08-17T22:21:14  *** tpfennig has joined #moin-dev
2009-08-17T23:01:55  *** tpfennig has quit IRC

MoinMoin: MoinMoinChat/Logs/moin-dev/2009-08-17 (last edited 2009-08-16 22:15:01 by IrcLogImporter)