2007-06-07T00:02:47  <grzywacz> xorAxAx, what else should I do before we can attempt an early merge with the main branch?
2007-06-07T00:03:12  <xorAxAx> grzywacz: ACL/security checks are in?
2007-06-07T00:03:24  <xorAxAx> grzywacz: latest main revisions are pulled in and merged?
2007-06-07T00:03:46  <grzywacz> xorAxAx, super user check is in
2007-06-07T00:04:13  <grzywacz> xorAxAx, let me check the main revisions, but I've been pulling them now and then.
2007-06-07T00:04:28  <xorAxAx> well, any other event handler has to check acls generally
2007-06-07T00:04:56  <grzywacz> Every event handler has to make these checks by itself.
2007-06-07T00:05:08  <grzywacz> There's no way to guess it from the calling context.
2007-06-07T00:07:06  <xorAxAx> yes, thats what is said :)
2007-06-07T00:08:26  <CIA-27> moin: Alexander Schremmer <alex AT alexanderweb DOT de> * 2047:e5526f9c2113 1.7/MoinMoin/_tests/ (_test_template.py test_security.py): Fixed test_template, streamlined reimars last test.
2007-06-07T00:08:27  <CIA-27> moin: Alexander Schremmer <alex AT alexanderweb DOT de> * 2048:8ac1efc21728 1.7/ (10 files in 8 dirs): Merge with main.
2007-06-07T00:09:11  <grzywacz> erm
2007-06-07T00:09:40  <grzywacz> Wicked.
2007-06-07T00:10:12  <xorAxAx> hmm?
2007-06-07T00:10:50  <xorAxAx> now you want to remerge, yes
2007-06-07T00:10:56  <xorAxAx> found that one in my repo :)
2007-06-07T00:11:08  <grzywacz> I did. And broken my pydev a second later. :D
2007-06-07T00:11:12  <xorAxAx> hehe
2007-06-07T00:15:40  <zenhase>  hmm i was thinking about using pydev now for some time ... but i think it would be too awkward on my current backup laptop
2007-06-07T00:16:04  <zenhase> pbook g4 800mhz - 512mb ... no funfun for java
2007-06-07T00:17:48  <neagulm> xorAxAx, I'm trying to sync with MoinTest for ~1 hour and I just get: unsupported XML-RPC protocol
2007-06-07T00:17:54  <neagulm> xorAxAx, some clues ? :)
2007-06-07T00:19:44  <neagulm> xorAxAx, in wikisync.py self.wiki_url get set to "/"
2007-06-07T00:20:17  <neagulm> xorAxAx, and not to: "http://test.wikiwikiweb.de/"
2007-06-07T00:24:10  <xorAxAx> neagulm: maybe somebody broke it :)
2007-06-07T00:24:33  <xorAxAx> neagulm: well, where did you register your interwiki ID?
2007-06-07T00:24:42  <xorAxAx> on the wiki page? in the shared txt file?
2007-06-07T00:27:37  <grzywa> shitty hardware...
2007-06-07T00:34:46  <grzywacz> 002925 ERROR    TypeError: cannot marshal <class 'MoinMoin.request.STANDALONE.Request'> objects
2007-06-07T00:34:47  <grzywacz> -_-;
2007-06-07T00:37:51  <grzywacz> ... I must be brain damaged.
2007-06-07T00:38:49  <neagulm> xorAxAx, I have followed the instructions from HelpOnSynchronisation
2007-06-07T00:39:30  <neagulm> xorAxAx, registred in InterWikiMap (MoinTest http://test.wikiwikiweb.de/) and in intermap.txt
2007-06-07T00:40:36  <neagulm> xorAxAx, "remoteWiki:: MoinTest" and "direction:: down" set in the sync job
2007-06-07T00:41:02  <xorAxAx> neagulm: hmm
2007-06-07T00:41:43  <neagulm> xorAxAx, my interwiki name is "MoinTest"
2007-06-07T00:41:58  <xorAxAx> neagulm: that basically means that it doesnt pick up your interwiki name
2007-06-07T00:42:08  <xorAxAx> but it should notice that as well
2007-06-07T00:42:23  <xorAxAx> neagulm: is self.valid set?
2007-06-07T00:43:12  <grzywacz> xorAxAx, I'm going to sleep. I've just barely survived a serious wtf after reading my code, which is a bad omen. ;)
2007-06-07T00:43:18  <xorAxAx> hehe
2007-06-07T00:43:19  <xorAxAx> good night
2007-06-07T00:43:23  <grzywacz> night!
2007-06-07T00:43:45  <neagulm> xorAxAx, self.valid is set to True
2007-06-07T00:48:26  <xorAxAx> neagulm: give me the tuple returned by reosolve_wiki
2007-06-07T00:51:34  <neagulm> xorAxAx, wikitag: "MoinTest", wikitag_bad: False, wikitail: "", wikiurl: ""
2007-06-07T00:51:50  <xorAxAx>      well, that looks broken :)
2007-06-07T00:52:01  <xorAxAx> and thats not wikisync related code. find out, why its broken :)
2007-06-07T00:52:12  <xorAxAx> (the resolv_wiki stuff)
2007-06-07T00:54:52  <neagulm> ok, thanx. I will take a look tomorrow. Now it's 1:54 EET and I think I will go to sleep
2007-06-07T00:56:57  <xorAxAx> gn neagulm :)
2007-06-07T00:57:05  <neagulm> good night xorAxAx
2007-06-07T02:17:17  * zenhase scratches his head
2007-06-07T02:17:37  <zenhase> somehow i don't really get how gettext-stuff works
2007-06-07T02:18:13  <zenhase> is it just this single little function (most of the time named _)?
2007-06-07T02:19:06  <zenhase> oh never mind ... i got it
2007-06-07T02:19:26  * zenhase was just a bit confused about genshi.filters.i18n
2007-06-07T02:19:31  <zenhase> it's clear now
2007-06-07T03:47:28  <zenhase> hmm
2007-06-07T03:55:19  <zenhase> quite some work extracting context-data for templates from ThemeBase :>
2007-06-07T03:56:27  <zenhase> but it's nice ... i am getting around all over the codebase while figuring out how the stuff interdepends
2007-06-07T10:05:03  <grzywacz> moin
2007-06-07T11:23:58  <vpv> moin. It's 'official' now that I'll use 1.7 for my summer project too, that's the best choise for both Fedora and Moin.
2007-06-07T11:25:53  <grzywacz> Cool. :)
2007-06-07T11:56:25  <xorAxAx> moin grzywacz
2007-06-07T12:46:30  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2088:0dbf808a6e42 1.7-jabber-knowak/ (10 files in 2 dirs): Move jabber bot to a top-level package.
2007-06-07T12:46:32  <CIA-27> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 2089:b3ddb4504ec6 1.7-jabber-knowak/MoinMoin/parser/text_moin_wiki.py: text_moin_wiki: bug fix of {{{ aaa {{{\n }}} bbb }}}
2007-06-07T12:46:34  <CIA-27> moin: Reimar Bauer <rb.proj AT googlemail DOT com> * 2090:1bdbf54a33ff 1.7-jabber-knowak/MoinMoin/parser/text_moin_wiki.py: text_moin_wiki:bug fix of NoURLsAfterBlock
2007-06-07T12:46:35  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2091:3b0fca14c14c 1.7-jabber-knowak/JabberBot/xmppbot.py: Add basic handling of new presence stanzas, type=subscribe and type=unsubscribe
2007-06-07T12:46:36  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2092:b32f88c46f57 1.7-jabber-knowak/MoinMoin/parser/text_moin_wiki.py: Merged changes from main.
2007-06-07T12:46:37  <CIA-27> moin: Alexander Schremmer <alex AT alexanderweb DOT de> * 2093:e5526f9c2113 1.7-jabber-knowak/MoinMoin/_tests/ (_test_template.py test_security.py): Fixed test_template, streamlined reimars last test.
2007-06-07T12:46:40  <CIA-27> moin: Alexander Schremmer <alex AT alexanderweb DOT de> * 2094:8ac1efc21728 1.7-jabber-knowak/ (10 files in 8 dirs): Merge with main.
2007-06-07T12:46:43  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2095:42a4a659968a 1.7-jabber-knowak/MoinMoin/_tests/ (_test_template.py test_security.py): Merge with main?!
2007-06-07T12:46:50  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2096:c2114faf540e 1.7-jabber-knowak/JabberBot/xmppbot.py: Fix the case when pyxmpp returns None instead of "available" as presence type.
2007-06-07T12:46:53  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2097:cc5067ea1235 1.7-jabber-knowak/MoinMoin/ (events/JabberNotification.py userform.py): Fix brain-damaged behaviour I introduced yestarday.
2007-06-07T12:49:18  <ThomasWaldmann> moin
2007-06-07T12:50:08  <grzywacz> Hello there, Thomas.
2007-06-07T12:51:35  <ThomasWaldmann> vpv: would you like to have a repo on hg.thinkmo.de?
2007-06-07T12:54:20  <xorAxAx> wow, thats weird, my rss reader doesnt show the pulled changesets from the main branch on grzywacz' branch
2007-06-07T12:55:14  <xorAxAx> grzywacz: did you fix the imports?
2007-06-07T12:56:15  <grzywacz> xorAxAx, there was something strange about this merge
2007-06-07T12:56:20  <grzywacz> xorAxAx, no ;o
2007-06-07T12:57:17  <xorAxAx> grzywacz: http://hg.alexanderweb.de/moin-1.7-jabber-knowak/branchview/2097?revcount=30;bgheight=39
2007-06-07T12:57:34  <grzywacz> weird
2007-06-07T12:57:38  <grzywacz> I did merge and commited.
2007-06-07T12:57:51  <xorAxAx> grzywacz: your clock is broken somehow
2007-06-07T12:58:04  <xorAxAx> grzywacz: are you +0300 or +0200?
2007-06-07T12:58:10  <grzywacz> Normally +2.
2007-06-07T12:58:21  <xorAxAx> normally? we have DST
2007-06-07T12:58:28  <grzywacz> Right.
2007-06-07T12:58:32  <grzywacz> Germany is +2, right?
2007-06-07T12:58:37  <xorAxAx> in the summer
2007-06-07T12:58:51  <grzywacz> DST here too.
2007-06-07T12:59:13  <xorAxAx> yes, poland is +0200 too
2007-06-07T12:59:20  <grzywacz> Yup.
2007-06-07T12:59:25  <xorAxAx> but the tree shows that you committed a changeset before mine arrived
2007-06-07T12:59:44  <xorAxAx> thats basically impossible :)
2007-06-07T12:59:55  <xorAxAx> what does `date` give you?
2007-06-07T12:59:59  <grzywacz> Thu Jun  7 12:57:16 CEST 2007
2007-06-07T13:00:02  <xorAxAx> (its not a tree, its a DAG)
2007-06-07T13:00:14  <xorAxAx> yes, thats off by 3 minutes
2007-06-07T13:00:14  <grzywacz> Did we break mercurial? :P
2007-06-07T13:00:21  <xorAxAx> please use ntpdate :)
2007-06-07T13:00:26  <grzywacz> Will do.
2007-06-07T13:00:31  <xorAxAx> or chrony
2007-06-07T13:00:36  <grzywacz> I know, I know.
2007-06-07T13:00:38  <grzywacz> Let me emerge it.
2007-06-07T13:00:38  <grzywacz> ;]
2007-06-07T13:02:20  <grzywacz> Thu Jun  7 13:02:19 CEST 2007
2007-06-07T13:03:39  <xorAxAx> better :)
2007-06-07T13:07:24  <grzywacz> Added to startup scripts, so there will be no more problems.
2007-06-07T13:09:35  * ThomasWaldmann configures ubuntu on his notebook
2007-06-07T13:10:27  <vpv> ThomasWaldmann: a repo would be nice :)
2007-06-07T13:11:24  <ThomasWaldmann> suggest a name
2007-06-07T13:14:13  <vpv> 1.7-maninfo-vpv or something similar?
2007-06-07T13:28:23  <ThomasWaldmann> vpv: check if you can clone your repo
2007-06-07T13:28:43  <ThomasWaldmann> and send me your ssh pubkey
2007-06-07T13:30:31  <vpv> it's cloning now, seems to work, I'll send the key in email
2007-06-07T13:36:28  <ThomasWaldmann> we'll get Google Adwords for $200 donated from Google
2007-06-07T13:38:50  <xorAxAx> cool
2007-06-07T13:43:39  <ThomasWaldmann> vpv: set some tag in your repo, like FSC2007-START, commit and push it
2007-06-07T13:44:36  <ThomasWaldmann> dont forget to set some sane email in your .hgrc
2007-06-07T13:46:23  <vpv> right, I'll read the wiki page about that
2007-06-07T13:48:14  <ThomasWaldmann> xorAxAx: your changeset 2048 looks a bit strange
2007-06-07T13:48:29  <xorAxAx> ThomasWaldmann: hash please
2007-06-07T13:48:44  <ThomasWaldmann>  8ac1efc21728
2007-06-07T13:49:46  <xorAxAx> ThomasWaldmann: why?
2007-06-07T13:49:50  <xorAxAx> its a merge
2007-06-07T13:51:40  <ThomasWaldmann> you didnt push that stuff in cs before for 4 weeks?
2007-06-07T13:52:38  <xorAxAx> SyntaxError
2007-06-07T13:52:51  <xorAxAx> you mean why the merge came in so late? because i forgot to push
2007-06-07T13:54:18  <ThomasWaldmann> ok
2007-06-07T13:55:13  <CIA-27> moin: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi> * 2049:ce4bf3c4a5e4 1.7-maninfo-vpv/.hgtags: Tag Summercode Finland 2007 start
2007-06-07T13:56:02  <vpv> wow :)
2007-06-07T13:56:23  <ThomasWaldmann> it worked :)
2007-06-07T13:59:28  <ThomasWaldmann> vpv: maybe you want to obscure your email a bit
2007-06-07T14:02:39  <vpv> I've changed that now, but I think the address is "lost" anyway as long as it comes to spam. I'm relying on the university's spam filters by now...
2007-06-07T14:03:05  <xorAxAx> hgweb obfuscates it as well
2007-06-07T14:03:12  <xorAxAx> only irc logs show it directly :)
2007-06-07T15:28:54  <CIA-27> moin: Marian Neagul marian@info.uvt.ro * 2021:161d289de3f9 1.7-classify-mneagul/ (4 files in 3 dirs): Prevent strange behaviour due to caching. Add a wikiconfig entry.
2007-06-07T15:34:12  <dreimark> hi neagulm
2007-06-07T15:34:22  <dreimark> multiconfig wants an entry too
2007-06-07T15:43:14  <neagulm> hello dreimark
2007-06-07T15:43:21  <neagulm> i will add it
2007-06-07T15:43:44  <neagulm> I get a very funny behaviour with caching enabled :)
2007-06-07T15:44:39  <neagulm> today I was reading Zdziarski's book
2007-06-07T15:44:56  <neagulm> i'm searching for some ideea related to tokenization
2007-06-07T15:45:05  <neagulm> i try to find the best approach for wiki pages
2007-06-07T15:45:45  <dreimark> http://dspam.nuclearelephant.com/ ?
2007-06-07T15:46:39  <dreimark> what does happen with caching enabled
2007-06-07T15:48:10  <neagulm> The main problem is that i should somehow remove the cache from all pages when a learning/forget-ing action occurs or use a instance level cache.
2007-06-07T15:49:42  <neagulm> The funny thing is: Page A is classified as HAM, I classify page B as SPAM. Let's suppose that page A should now be classified as SPAM but the caching does not permit to tell the user the correct classification but the cached one
2007-06-07T15:51:10  <dreimark> see PageEditor.renamePage below # clean the cache
2007-06-07T15:53:42  <neagulm> i want to remove the cache for all pages when a larning action occurs
2007-06-07T15:56:20  <dreimark> then MoinMoin/script/maint/ cleancache as example
2007-06-07T16:01:07  <neagulm> the script is ok for the purpose described in the docstring but for a running, moderated, high-traffic wiki wouldn't it be a little to expensive ?
2007-06-07T16:01:25  <neagulm> it requires walking the entire wiki
2007-06-07T16:01:42  <neagulm> i think that i will use two cache entry's
2007-06-07T16:01:52  <neagulm> one page level - storing the classsification
2007-06-07T16:02:18  <neagulm> and one instance level as a semaphore, or cleaning trigger
2007-06-07T16:02:47  <dreimark> indeed walking is to expensive
2007-06-07T16:05:54  <neagulm> i was thinking about another UI feature: notify a user that a page referred by a link is Spam (using some CSS/javascript magic).
2007-06-07T16:08:34  <dreimark> same for pages in pagetrail
2007-06-07T16:09:08  <neagulm> i'm not really sure about this but it might be a use-full feature... the drawback is that this might require changes to the formater part of MM
2007-06-07T16:09:49  <neagulm> brb ~5 minutes
2007-06-07T16:09:57  <dreimark> zenhase are you watching
2007-06-07T16:11:40  <xorAxAx> dreimark: why? his work is not related to the formatter :)
2007-06-07T16:11:58  <zenhase> hmm?
2007-06-07T16:12:33  <zenhase> xorAxAx: well, perhaps later on it will be
2007-06-07T16:12:47  <xorAxAx> zenhase: sure
2007-06-07T16:12:49  <zenhase> xorAxAx: what about using genshi.builder.tag?
2007-06-07T16:12:53  <zenhase> :>
2007-06-07T16:12:58  <xorAxAx> zenhase: for what?
2007-06-07T16:13:36  <zenhase> a full genshi stream from the 'back' to the 'front'?
2007-06-07T16:14:01  <zenhase> but perhaps that doesn't make much sense
2007-06-07T16:14:47  <zenhase> but i would really like to give xhtml-compliant output a shot
2007-06-07T16:15:27  <xorAxAx> zenhase: well, that would a pretty large task because the sequence of calls to the formatter is not xhtml compliant
2007-06-07T16:16:11  <zenhase> xorAxAx: i see
2007-06-07T16:16:24  <zenhase> well, perhaps after gsoc
2007-06-07T16:16:38  <zenhase> i concentrate on templating now :>
2007-06-07T16:17:34  <zenhase> hmm
2007-06-07T16:17:40  <zenhase> got a question here
2007-06-07T16:18:20  <zenhase> request.getPragma('keywords') and request.getPragma('description')
2007-06-07T16:18:51  <zenhase> are those the wikipage-dependant keywords/descriptions?
2007-06-07T16:19:22  <neagulm> xorAxAx, dreimark, zenhase: correct! This feature should not be implemented now (it's not my work). It should be implemented by any arbitrary theme/formater
2007-06-07T16:20:03  <zenhase> AntiSpamTheme
2007-06-07T16:20:04  <zenhase> :>
2007-06-07T16:20:18  <xorAxAx> zenhase: no, page dependant. pragma == processing instruction here
2007-06-07T16:20:48  <zenhase> xorAxAx: so that would be a yes :>
2007-06-07T16:21:43  <zenhase> sorry if my question was confusing :)
2007-06-07T16:22:17  <zenhase> then: shouldn't those be attributes/properties of Page?
2007-06-07T16:25:26  <xorAxAx> in a perfect world, yes
2007-06-07T16:25:54  <neagulm> ok. I marked this feature as a low priority task (possibly after finishing the current tasks)
2007-06-07T16:26:21  <dreimark> :)
2007-06-07T16:26:51  <neagulm> some ideas about what properties of a page might be use-full as features for the classifier ?
2007-06-07T16:27:07  <zenhase> xorAxAx: well we're are working towards a perfect one ;>
2007-06-07T16:27:31  <zenhase> neagulm: you just got two of them :>
2007-06-07T16:29:59  <ThomasWaldmann> neagulm: language
2007-06-07T16:30:34  <dreimark> and format
2007-06-07T16:30:57  <neagulm> dreimark, format ?!
2007-06-07T16:31:27  <zenhase> if you classify on creation the template-page it was made from (if any) could be perhaps useful too
2007-06-07T16:31:47  <zenhase> hmm
2007-06-07T16:31:54  <dreimark> e.g. #format plain
2007-06-07T16:32:00  <neagulm> dreimark, aha ok
2007-06-07T16:32:41  <neagulm> zenhase, a will think about it
2007-06-07T16:33:19  <dreimark> neagulm: complee list http://moinmaster.wikiwikiweb.de/HelpOnProcessingInstructions
2007-06-07T16:34:28  <neagulm> dreimark, I was experimenting with attachments and I think that using a separate SB instance for classification of attachments would be more usefull, at least until we have revision-ed attachments or even then
2007-06-07T16:34:43  <neagulm> dreimark, but i'm still researching :)
2007-06-07T16:37:12  <dreimark> what is with the name of the attachment is this classified too?
2007-06-07T16:37:31  <neagulm> dreimark, currently not but in the next push it will be
2007-06-07T16:38:33  <neagulm> dreimark, please take a look at http://bnr.nuclearelephant.com/
2007-06-07T16:39:13  <neagulm> dreimark, it could be usefull for testing in order to show what part of the message plays a important role for classifying a page as spam.
2007-06-07T16:40:25  <neagulm> dreimark, I don't realy know now how would I implement this but is very interesting. Maybe I will convince some of my colleagues from Timisoara to implement it
2007-06-07T16:42:20  <neagulm> dreimark, I need to go offline now
2007-06-07T16:42:33  <dreimark> I have something to read ...
2007-06-07T16:42:43  <dreimark> ;)
2007-06-07T16:43:09  <dreimark> neagulm: dont miss the comment string classification
2007-06-07T16:43:27  <neagulm> dreimark, ok
2007-06-07T16:44:19  <neagulm> the articles from http://bnr.nuclearelephant.com/ are presenting Bayesian Noice Reduction, the algorithm I was talking a few weeks ago
2007-06-07T16:44:20  <neagulm> ok
2007-06-07T16:44:24  <neagulm> i need to leave
2007-06-07T16:44:27  <neagulm> seeya
2007-06-07T16:44:35  <dreimark> cu
2007-06-07T17:53:43  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2098:1577663f6354 1.7-jabber-knowak/ (15 files in 4 dirs): Notify when a new attachment is added to a page. s/JabberBot/jabberbot/.
2007-06-07T17:53:57  <grzywacz> Sorry for this mess again. :S
2007-06-07T17:55:22  <grzywacz> xorAxAx, so, how about an early merge with 1.7?
2007-06-07T17:55:48  <xorAxAx> i will have a look at it today or tomorrow
2007-06-07T17:56:09  <grzywacz> Ok.
2007-06-07T18:06:54  <xorAxAx> grzywacz: i am still seeing relative imports
2007-06-07T18:09:58  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2099:645bbc7fe2b5 1.7-jabber-knowak/MoinMoin/events/__init__.py: Add forgotten invocation of parent constructor.
2007-06-07T18:09:59  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2100:c0c7c4cd4eee 1.7-jabber-knowak/jabberbot/main.py: Fix more relative imports.
2007-06-07T18:10:39  <grzywacz> Still?
2007-06-07T18:11:55  <xorAxAx> no idea, i will see :)
2007-06-07T18:12:02  <grzywacz> ;]
2007-06-07T18:13:12  * zenhase is almost thru converting .send_title to genshi
2007-06-07T18:13:40  <zenhase> a little bit of icecream and then 'endspurt'
2007-06-07T18:36:03  <CIA-27> moin: Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl> * 2101:b39379ab47d3 1.7-jabber-knowak/MoinMoin/ (4 files in 2 dirs): Send notifications when page is deleted + some small fixes.
2007-06-07T18:36:17  <grzywacz> I see some code duplication becoming apparent, will refactor it next.
2007-06-07T18:49:09  <dreimark> bbl
2007-06-07T20:26:56  <ThomasWaldmann> grzywacz:  from MoinMoin.events.messages import page_changed_notification
2007-06-07T20:26:56  <ThomasWaldmann>  from MoinMoin.events.messages import file_attached_notification
2007-06-07T20:26:56  <ThomasWaldmann> +from MoinMoin.events.messages import page_deleted_notification
2007-06-07T20:27:30  <ThomasWaldmann> how about importing messages and then using messages.x?
2007-06-07T20:29:08  <ThomasWaldmann> (same applies for events 1 line above)
2007-06-07T20:32:27  <zenhase> hmm
2007-06-07T20:37:52  <ThomasWaldmann> grzywacz: don't put "developed as soc project" in all your files. we can mention it in CHANGES.
2007-06-07T20:40:04  <zenhase> my output-capturing does not work it seems
2007-06-07T20:40:51  <zenhase> does the formatter-code write unicode or already encoded data to request.write?
2007-06-07T20:41:01  <ThomasWaldmann> grzywacz: and please don't put "a xmpp bot" as module level description in a file called xmppbot.py :D
2007-06-07T20:42:23  <ThomasWaldmann> zenhase: look at request.CGI.write to see
2007-06-07T20:45:34  <ThomasWaldmann> grzywacz: +        if max_prio_show == u'dnd':
2007-06-07T20:45:34  <ThomasWaldmann> +            return True
2007-06-07T20:45:34  <ThomasWaldmann> +        else:
2007-06-07T20:45:34  <ThomasWaldmann> +            return False
2007-06-07T20:46:00  <ThomasWaldmann> -> return max_prio_show == u'dnd'
2007-06-07T20:49:15  <zenhase> hmm ok
2007-06-07T20:49:38  <zenhase> data is still unicode when it arrives at .write
2007-06-07T20:51:24  <ThomasWaldmann> grzywacz: +        if len(command) == 0:    -> if not command:
2007-06-07T20:52:10  <ThomasWaldmann> grzywacz: +        if not response == u"":    -> maybe   if response:
2007-06-07T21:11:28  <lanius> xorAxAx: do you have an idee for the global edit log without "a" operation
2007-06-07T21:12:30  <ThomasWaldmann> lanius: what do you want to do?
2007-06-07T21:12:40  <xorAxAx> lanius: well, the cache needs to be updatable in small steps. thomas suggested to use an item as the global editlog and abuse revisions to store the cached data
2007-06-07T21:12:49  <xorAxAx> lanius: then it boils down to revision append operations
2007-06-07T21:12:55  <lanius> yes but reading will be slow then
2007-06-07T21:13:03  <xorAxAx> yes
2007-06-07T21:13:41  <lanius> but maybe that's ok because you won't read the whole log always?
2007-06-07T21:14:21  <xorAxAx> yes, the only thing that needs to be fast is something like "give me the metadata of the 20 last revisions"
2007-06-07T21:14:37  <ThomasWaldmann> xorAxAx: no, i want to store about the same metadata as in the item, as metadata, not data
2007-06-07T21:14:43  <xorAxAx> (its always read backwards)
2007-06-07T21:14:46  <lanius> that would be 20 files to open then
2007-06-07T21:14:52  <xorAxAx> ThomasWaldmann: i said that
2007-06-07T21:15:03  <xorAxAx> ThomasWaldmann: data meaning metadata in that sentence
2007-06-07T21:15:18  <xorAxAx> lanius: 20 was an optimistic estimate
2007-06-07T21:15:25  <xorAxAx> lanius: usually its more
2007-06-07T21:16:06  <ThomasWaldmann> rc can use simple caching for that
2007-06-07T21:16:08  <lanius> so we still don't need the append operation, right?
2007-06-07T21:16:27  <xorAxAx> ThomasWaldmann: "simple caching"?
2007-06-07T21:16:38  <xorAxAx> a cache for a cache for a cache :)
2007-06-07T21:18:37  <ThomasWaldmann> the point is that authoritative data does not get corrupted
2007-06-07T21:19:09  <xorAxAx> ?
2007-06-07T21:19:30  <ThomasWaldmann> (and as we maybe do not want to read the whole wiki to regenerate the edit-log, we have to handle it like that)
2007-06-07T21:19:47  <xorAxAx> what do you mean by "simple caching"?
2007-06-07T21:21:25  <ThomasWaldmann> caching module (or whatever is following it)
2007-06-07T21:22:01  <xorAxAx> grzywacz: from config import Config
2007-06-07T21:22:02  <xorAxAx> ARGH
2007-06-07T21:23:09  <ThomasWaldmann> if cache mtime older RC mtime, RC macro code reads RC item's history and uses caching to store it.
2007-06-07T21:23:55  <xorAxAx> ThomasWaldmann: then describe the cache
2007-06-07T21:24:00  <xorAxAx> thats the problem we are talking about
2007-06-07T21:25:06  <ThomasWaldmann> you mean the caching module?
2007-06-07T21:25:28  <xorAxAx> ThomasWaldmann: the way of storing the cache, how it looks like etc.
2007-06-07T21:25:48  <xorAxAx> using the caching module means replacing the whole edit log on change
2007-06-07T21:25:57  <xorAxAx> one doesnt really want to do that
2007-06-07T21:26:31  <ThomasWaldmann> well, it only happens after modifications
2007-06-07T21:26:59  <xorAxAx> you want to write 10 MB of editlog after every new revision add?
2007-06-07T21:27:07  <xorAxAx> (or even more in your case)
2007-06-07T21:27:11  <ThomasWaldmann> and the code will be not much different from action=info
2007-06-07T21:27:13  <xorAxAx> thats O(n^2) and pretty nuts :)
2007-06-07T21:27:27  <ThomasWaldmann> why 10mb?
2007-06-07T21:27:41  <xorAxAx> because i assume that moinmo.in has at least 10 MB editlog data
2007-06-07T21:28:09  <ThomasWaldmann> who said we'll write everything we have into the cache? :-P
2007-06-07T21:28:20  <xorAxAx> ...
2007-06-07T21:28:44  <xorAxAx> well, you could have a sliding window that falls back to metadata
2007-06-07T21:28:58  <xorAxAx> in case of being read after the window ends
2007-06-07T21:29:09  <xorAxAx> so your "cache" reflects the last x changes
2007-06-07T21:29:47  <ThomasWaldmann> or daily or every x changes or ...
2007-06-07T21:30:05  <xorAxAx> every x?
2007-06-07T21:31:15  <ThomasWaldmann> rev 1..100 -> cache100, rev 101..200 > cache200, ...
2007-06-07T21:31:38  <xorAxAx> what if somebody deletes a revision?
2007-06-07T21:31:55  <xorAxAx> then you have to regenerate all your files
2007-06-07T21:32:07  <xorAxAx> ok, we have the same problem currently :)
2007-06-07T21:32:17  <ThomasWaldmann> ?
2007-06-07T21:32:18  <xorAxAx> lanius: what do you think about this rewriting bucket storage thingie?
2007-06-07T21:32:29  <lanius> rewriting bucket storage?
2007-06-07T21:32:55  <xorAxAx> yes, a bucket for every n revisions which is rewritten for every new item
2007-06-07T21:32:59  <xorAxAx> umm, revision
2007-06-07T21:33:36  <lanius> what thomas just proposed?
2007-06-07T21:34:02  <ThomasWaldmann> btw, maybe daily is easier as RC has daily granularity
2007-06-07T21:34:40  <ThomasWaldmann> and if we don't offer more than e.g. 90d, we can purge easier the 91.d cache
2007-06-07T21:34:55  <xorAxAx> lanius: yes
2007-06-07T21:35:06  <xorAxAx> grzywacz: i really think that there is a lot of code duplication
2007-06-07T21:35:27  <xorAxAx> ThomasWaldmann: the daily granularity is dependent on the user's timezone, isnt it?
2007-06-07T21:35:35  <lanius> that would still mean opening n files for one update
2007-06-07T21:35:41  <xorAxAx> lanius: why n?
2007-06-07T21:35:53  <ThomasWaldmann> xorAxAx: yeah, so we purge the 92....
2007-06-07T21:36:04  <xorAxAx> ThomasWaldmann: 92?
2007-06-07T21:36:36  <lanius> xorAxAx: because you write the edit-log of those n files to the cache
2007-06-07T21:37:14  <xorAxAx> grzywacz: on page deletion you are firing two events, see  self.saveText
2007-06-07T21:37:26  <xorAxAx> lanius: those n files are the cache
2007-06-07T21:37:46  <xorAxAx> i.e. they would be n revisions of an item
2007-06-07T21:37:48  <lanius> they are the n revisions in the cache
2007-06-07T21:37:58  <ThomasWaldmann> xorAxAx: we can purge 92.... days old cache if we offer only 90d rc
2007-06-07T21:38:20  <ThomasWaldmann> but the daily display wont exactly match the cache files due to tz, thats right
2007-06-07T21:38:22  <xorAxAx> ThomasWaldmann: i would dislike that, i have more than 90 days after my moinmo.in bookmark
2007-06-07T21:39:09  <ThomasWaldmann> then learn how to use better a bookmark :-P
2007-06-07T21:40:08  <ThomasWaldmann> but anyway, whether we purge or not or when should be configurable anyway
2007-06-07T21:40:27  <ThomasWaldmann> (and we'll need that anyway for binary items)
2007-06-07T21:44:15  <ThomasWaldmann> btw, we can do those optimizations later. and every other storage code needed for that RC storage will be reused code.
2007-06-07T21:45:07  <ThomasWaldmann> the only new code will be some rewriting of RC.
2007-06-07T21:46:55  <lanius> let's talk about the data part again
2007-06-07T21:47:21  <grzywacz> xorAxAx, I know.
2007-06-07T21:47:23  <lanius> each revision has a data class
2007-06-07T21:47:29  <lanius> with a file like interface
2007-06-07T21:47:41  <lanius> reading that data will be redirected to the real data
2007-06-07T21:47:54  <lanius> writing that data will be cached first and only saved when the whole item is saved
2007-06-07T21:47:57  <lanius> right?
2007-06-07T21:48:05  <xorAxAx> yes
2007-06-07T21:48:19  <xorAxAx> that was the resolution for your wish to have only one instance
2007-06-07T21:48:27  <lanius> this cache is another file or memory?
2007-06-07T21:48:42  <xorAxAx> a file
2007-06-07T21:48:51  <lanius> which would slow done everything a bit, won't it?
2007-06-07T21:48:54  <xorAxAx> no
2007-06-07T21:48:55  <lanius> s/done/down
2007-06-07T21:49:09  <lanius> since actually writing will be a just a move operation
2007-06-07T21:49:11  <xorAxAx> this is network-bound. there is just the copying latency
2007-06-07T21:49:31  <xorAxAx> or even moving ... thats an implementation detail
2007-06-07T21:49:43  <lanius> yeah, didn't get that earlier
2007-06-07T21:52:34  <lanius> but when doing this move operation you have to reset the read_file somehow
2007-06-07T21:52:48  <xorAxAx> read_file?
2007-06-07T21:52:56  <lanius> to which the read operations are redirected
2007-06-07T21:53:22  <xorAxAx> yes ... this all was your idea, not mine :)
2007-06-07T21:53:41  <lanius> that's not the point :P
2007-06-07T21:53:55  <xorAxAx> just clarifying :)
2007-06-07T21:54:03  <lanius> if you have two instances there wouldn't be a difference, would there
2007-06-07T21:54:18  <lanius> after finishing the write you have to reopen the running read instances
2007-06-07T21:54:21  <xorAxAx> but as the class is on the same level as the item etc., save() should do the mode switch
2007-06-07T21:54:42  <xorAxAx> no, only the one that was used to save
2007-06-07T21:54:48  <xorAxAx> because there is no other
2007-06-07T21:54:54  <xorAxAx> (because of locking)
2007-06-07T21:54:59  <lanius> complete read locking?
2007-06-07T21:55:04  <xorAxAx> no
2007-06-07T21:55:19  <lanius> what about other threads that are just reading this file
2007-06-07T21:55:48  <xorAxAx> there wont be any. because a data replacement will only happen in pretty seldom cases :)
2007-06-07T21:56:03  <xorAxAx> even if there are any, only windows users will notice it
2007-06-07T21:56:14  <lanius> so you just ignore the problem?
2007-06-07T21:56:16  <xorAxAx> yes
2007-06-07T21:56:34  <lanius> k
2007-06-07T23:04:53  <zenhase> hmm
2007-06-07T23:05:30  <zenhase> TypeError: Error when calling the metaclass bases | cannot create 'builtin_function_or_method' instances
2007-06-07T23:06:11  <zenhase> no subclassing of stringio for capturing encoded output :>
2007-06-07T23:25:25  <zenhase> still no capturing :/
2007-06-07T23:30:39  <CIA-27> moin: Florian Krupicka <florian.krupicka@googlemail.com> * 2047:104ceef749b0 1.7-template-fkrupicka/MoinMoin/theme/genshitheme.py: Assembling context data for rendering (output-capturing done via StringIO)
2007-06-07T23:30:42  <CIA-27> moin: Florian Krupicka <florian.krupicka@googlemail.com> * 2048:1a7d41ba1d54 1.7-template-fkrupicka/wiki/theme/templates/_base.html: First attempt at recreating ThemeBase-output in a template
2007-06-07T23:31:31  <zenhase> now for hunting that capturing bug
2007-06-07T23:37:00  <ThomasWaldmann> how does one pronounce genshize? :D
2007-06-07T23:38:27  <ThomasWaldmann> zenhase: config.show_interwiki  maybe better use cfg.show_interwiki
2007-06-07T23:40:11  <zenhase> well, i am not very fond of abbreviated names if the original name isn't to long
2007-06-07T23:40:23  <zenhase> so i put cfg as config in the context-dict
2007-06-07T23:41:20  <ThomasWaldmann> the problem is that config usually means MoinMoin.config, which is a different thing
2007-06-07T23:41:27  <zenhase> hmm
2007-06-07T23:43:02  <zenhase> well, i don't think that config the module will leak into the templates, but i can rename it
2007-06-07T23:43:36  <zenhase> i will start a wikipage too, where i collect the things that will be put in the context dict
2007-06-07T23:44:16  <zenhase> will serve as documentation later for the themers
2007-06-07T23:48:28  <ThomasWaldmann> zenhase: using cStringIO is asking for trouble
2007-06-07T23:48:41  <ThomasWaldmann> esp. with unicode
2007-06-07T23:48:54  <zenhase> ThomasWaldmann: that's why i encode everything
2007-06-07T23:49:21  <zenhase> but i am not very experienced with stringio
2007-06-07T23:49:42  <zenhase> have you got a suggestion for capturing?
2007-06-07T23:51:47  <ThomasWaldmann> StringIO also works with unicode
2007-06-07T23:52:00  <zenhase> oh
2007-06-07T23:52:21  <zenhase> so i could keep everything decoded
2007-06-07T23:58:37  <zenhase> hmm ...
2007-06-07T23:59:48  <zenhase> the python doc states that StringIO is also two edged ... mixing str and unicode in there can break it with unicode-errors

MoinMoin: MoinMoinChat/Logs/moin-dev/2007-06-07 (last edited 2007-10-29 19:12:52 by localhost)