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)