2007-06-04T00:47:44  <zenhase> and now i am finally at home and ready for bed
2007-06-04T00:47:51  <zenhase> and the surprise arrived :>
2007-06-04T01:02:33  <grzywacz> zenhase, :>>>>>>>>
2007-06-04T01:03:17  <grzywacz> zenhase, not useful per se, but certainly entertaining and on-topic :)
2007-06-04T02:40:04  <ThomasWaldmann> grzywacz: filter is a builtin
2007-06-04T02:44:49  <ThomasWaldmann> grzywacz: +            print _("XML RPC error: "), str(err)        logging.error("XMLRPC error: %s" % err)
2007-06-04T02:46:12  <ThomasWaldmann> grzywacz: +    user_jid_unique = True # do we check whether a user's email is unique?
2007-06-04T02:47:00  <ThomasWaldmann> grzywacz: +    if cfg.jabber_enabled is None:
2007-06-04T02:47:00  <ThomasWaldmann> +        return
2007-06-04T02:47:29  <ThomasWaldmann> -> if not cfg.jabber_enabled:
2007-06-04T02:49:37  <ThomasWaldmann> grzywacz: you are calling Event.__init__ in a class derived from PageEvent?
2007-06-04T02:51:04  <ThomasWaldmann> +            jid_changed = False
2007-06-04T02:51:04  <ThomasWaldmann> +            if theuser.jid != jid:
2007-06-04T02:51:06  <ThomasWaldmann> +                jid_changed = True
2007-06-04T02:51:43  <ThomasWaldmann> grzywacz: jid_changed = theuser.jid != jid
2007-06-04T02:59:54  <ThomasWaldmann> lanius: +        self.user_backend = UserStorage(os.path.join(data_dir, "user"), self)
2007-06-04T03:00:38  <ThomasWaldmann> you should better first initialize this to None and then check if it is still None is post-processing.
2007-06-04T03:01:22  <ThomasWaldmann> if it is still None, then assign it, but use user_dir, not data_dir
2007-06-04T03:02:02  <ThomasWaldmann> (user_dir usually is below data_dir, but it could be also shared in a farm at some other location)
2007-06-04T03:02:32  <ThomasWaldmann> s/is post-processing/in ..../
2007-06-04T03:16:01  <ThomasWaldmann> xorAxAx: i thought there was some easy way, but I couldn't find it. for what do you need it?
2007-06-04T03:32:21  <ThomasWaldmann> lanius:   File "/srv/moin_tw/moin-1.7-storage/MoinMoin/user.py", line 57, in getUserId
2007-06-04T03:32:25  <ThomasWaldmann>     return ItemCollection(request.cfg.user_backend, request.user).keys({'name': searchName})[0]
2007-06-04T03:32:28  <ThomasWaldmann> IndexError: list index out of range
2007-06-04T03:33:03  <ThomasWaldmann> (when trying to log in with a non-existing user)
2007-06-04T07:45:01  <xorAxAx> ThomasWaldmann: you need it :)
2007-06-04T07:45:07  <xorAxAx> ThomasWaldmann: for the auth stuff :)
2007-06-04T08:12:06  <ThomasWaldmann> ah %)
2007-06-04T11:59:31  <zenhase> moin
2007-06-04T12:33:32  <ThomasWaldmann> moin zenhase - alife again? :D
2007-06-04T12:38:48  <zenhase> i am
2007-06-04T12:39:35  <zenhase> i am working on genshitheme right now :>
2007-06-04T12:41:32  <ThomasWaldmann> :)
2007-06-04T12:41:39  <ThomasWaldmann> brb
2007-06-04T12:42:35  <zenhase> am i right that everything output by moin is utf8 encoded?
2007-06-04T12:43:10  <zenhase> or do i miss some charset-recoding somewhere? (on input, on output again?)
2007-06-04T12:57:19  <ThomasWaldmann> moin works internally with unicode objects and encodes to config.charset on output
2007-06-04T12:57:38  <ThomasWaldmann> config.charset == 'utf-8'
2007-06-04T14:35:21  <zenhase> ok
2007-06-04T14:57:32  <dreimark> bbl -> Wuppertal
2007-06-04T17:41:48  <xorAxAx> ThomasWaldmann: you said that you fixed the xapian version comparison. on 1.6?
2007-06-04T17:43:08  <xorAxAx> ah, found it
2007-06-04T17:45:41  <xorAxAx> ThomasWaldmann: is it me or is the ldap auth not documented?
2007-06-04T17:56:36  <CIA-27> moin: Alexander Schremmer <alex AT alexanderweb DOT de> * 2095:114c9772a85c 1.6/MoinMoin/auth/ldap_login.py: Introduce a callback to generate e-mail addresses for LDAP-imported accounts.
2007-06-04T17:56:39  <CIA-27> moin: Alexander Schremmer <alex AT alexanderweb DOT de> * 2096:aadeec103c4c 1.6/MoinMoin/search/queryparser.py: Simplify some code in the query parser.
2007-06-04T17:56:40  <CIA-27> moin: Alexander Schremmer <alex AT alexanderweb DOT de> * 2097:ecfba1d1bbba 1.6/MoinMoin/ (auth/ldap_login.py search/queryparser.py): Merged with 1.6 main.
2007-06-04T17:56:42  <lanius> ThomasWaldmann: i don't understand how i should change the config stuff
2007-06-04T17:57:24  <xorAxAx> lanius: IMHO the itemcollection may not get a user object
2007-06-04T17:57:30  <xorAxAx> lanius: and the facade should get it
2007-06-04T17:57:37  <xorAxAx> lanius: where is the facade btw? :)
2007-06-04T17:57:44  <lanius> there is no facade
2007-06-04T17:58:08  <xorAxAx> but it is essential
2007-06-04T17:58:13  <xorAxAx> as i explained earlier
2007-06-04T17:58:18  <lanius> earlier?
2007-06-04T17:58:25  <xorAxAx> yeah, a few days ago to you
2007-06-04T17:59:35  <lanius> please explain again
2007-06-04T17:59:56  <xorAxAx> the issue is that you dont want to init the itemcollection on every request and that it should be shared for every user
2007-06-04T18:00:12  <xorAxAx> but you dont want to pass request or request.user to it on every call
2007-06-04T18:00:48  <xorAxAx> so the idea is that the item collections gets the request or request.user object on every call and the itemcollection facade buffers this user object. the facade is created for every request
2007-06-04T18:01:17  <lanius> but i don't see the difference since initializing the itemcollection is not expensive
2007-06-04T18:01:32  <xorAxAx> hmm
2007-06-04T18:01:56  <xorAxAx> if you can guarantee that ... well :)
2007-06-04T18:02:14  <lanius>     def __init__(self, backend, userobj):
2007-06-04T18:02:14  <lanius>         """
2007-06-04T18:02:14  <lanius>         Initializes the proper StorageBackend.
2007-06-04T18:02:14  <lanius>         """
2007-06-04T18:02:14  <lanius>         self.backend = backend
2007-06-04T18:02:18  <lanius>         self.userobj = userobj
2007-06-04T18:02:22  <lanius> does that seem expensive ;)
2007-06-04T18:02:31  <xorAxAx> well, and you are sure that nothing else will need to be done there?
2007-06-04T18:02:39  <lanius> i can't imagine anything at the moment
2007-06-04T18:03:08  <xorAxAx> ok
2007-06-04T18:36:07  <ThomasWaldmann> xorAxAx: there is a ldap sample config
2007-06-04T18:36:51  <ThomasWaldmann> lanius: the point is that it is not data/user for everybody, because you can set user_dir to a common user directory in a farm
2007-06-04T18:37:17  <ThomasWaldmann> maybe the best thing for now is not to put ANYTHING into multiconfig.py
2007-06-04T18:37:51  <ThomasWaldmann> because that stuff is currently rather unstable and later, when it is stable, you will want to choose some backend in your config anyway
2007-06-04T18:39:42  <starshine> .o( until the last vestiges of the Old Republic are swept away...
2007-06-04T18:43:41  <xorAxAx> ThomasWaldmann: hmm, it would be nice if it was in the wiki
2007-06-04T20:31:03  * zenhase is assembling the context dictionary for the templates
2007-06-04T20:37:52  * ThomasWaldmann starts ldap help page
2007-06-04T20:38:07  <xorAxAx> cool
2007-06-04T20:38:27  <ThomasWaldmann> zenhase: you analysed what's in "d"?
2007-06-04T20:43:35  <zenhase> ThomasWaldmann: yeah, and i look in ThemeBase for other stuff that should be available in the template dict
2007-06-04T20:48:53  <xorAxAx> makes sense
2007-06-04T20:56:37  <zenhase> :>
2007-06-04T21:06:04  <CIA-27> moin: Heinrich Wendel <h_wendel@cojobo.net> * 2058:398d7301c6df 1.7-storage-hwendel/MoinMoin/ (6 files in 5 dirs): integrate saving/loading and creating of the user with the storage backend
2007-06-04T21:08:09  <zenhase> i am currently thinking about how much of a genshi theme should be enforced and how much to give into the hands of the themer
2007-06-04T21:08:46  * zenhase is thinking about stuff like important <head>-stuff here for example
2007-06-04T21:09:25  <xorAxAx> zenhase: hmm?
2007-06-04T21:09:39  <xorAxAx> elaborate on the "problem"
2007-06-04T21:10:24  <zenhase> for example meta keyword tags
2007-06-04T21:11:23  <zenhase> put the necessary data in the dict and advise the themer to use them appropiatly or force them into the output
2007-06-04T21:12:02  <xorAxAx> zenhase: the themer's genshi files can override them as well
2007-06-04T21:12:11  <xorAxAx> no need for python code here
2007-06-04T21:13:07  <zenhase> xorAxAx: hmm
2007-06-04T21:14:13  <zenhase> xorAxAx: what do you mean by override?
2007-06-04T21:14:58  <xorAxAx> zenhase: py:match, the most important directive of genshi
2007-06-04T21:15:05  <xorAxAx> before designing anything serious, try to understand it
2007-06-04T21:15:13  <xorAxAx> we already talked about this 4 weeks ago ..
2007-06-04T21:16:12  <grzywacz> re
2007-06-04T21:20:07  <zenhase> xorAxAx: just a minute, someone just walked in
2007-06-04T21:21:15  <grzywacz> hi xorAxAx
2007-06-04T21:21:47  <xorAxAx> hi my student
2007-06-04T21:23:43  <zenhase> xorAxAx: so ... the idea is to have something like a _base.html and let the themer xi:include that one ... or not if he wants to go all by himself.
2007-06-04T21:24:18  <xorAxAx> zenhase: hmm
2007-06-04T21:24:54  <zenhase> that's what i thought when you showed me your templates
2007-06-04T21:26:38  <xorAxAx> zenhase: my system doesnt support theming yet
2007-06-04T21:26:45  <xorAxAx> and i havent yet thought about how it would work
2007-06-04T21:26:54  <xorAxAx> have you had a look at trac?
2007-06-04T21:26:59  <xorAxAx> it solves theming nicely
2007-06-04T22:33:10  <zenhase> xorAxAx: pygments?
2007-06-04T22:33:47  <zenhase> ah ne
2007-06-04T22:33:56  <zenhase> das ist das syntax-highliting
2007-06-04T22:34:01  <xorAxAx> oui
2007-06-04T22:34:08  * zenhase switches to english again
2007-06-04T22:34:13  <xorAxAx> LOL
2007-06-04T22:34:35  <zenhase> temporary lapse of language
2007-06-04T22:34:47  <xorAxAx> if there is no english word, german is fine :)
2007-06-04T22:36:44  <zenhase> hrhr
2007-06-04T22:37:00  <zenhase> i think this is a rare case
2007-06-04T22:37:21  <xorAxAx> zeitgeist and gestalt come to my mind
2007-06-04T22:37:22  <xorAxAx> gestus
2007-06-04T22:38:11  <zenhase> i often find me using english set phrases in daily life, because i don't know anything that would express it in german language
2007-06-04T22:40:28  <xorAxAx> set phrases?
2007-06-04T22:41:06  <zenhase> "floskeln"
2007-06-04T22:41:20  <xorAxAx> ah
2007-06-04T22:41:28  <xorAxAx> like? :)
2007-06-04T22:43:33  <zenhase> hmm argh ... if i try to think of one forcefully it does not work ... it's the "vorfuehreffekt"!
2007-06-04T22:43:49  <zenhase> (and here we have one counter-example ;D)
2007-06-04T22:44:21  <xorAxAx> demo effect
2007-06-04T22:45:59  <zenhase> i should get something like a dict.leo.org-shortcut
2007-06-04T22:46:18  <xorAxAx> i have 30 tabs opened always
2007-06-04T22:46:24  <xorAxAx> one of them is a dictionary site
2007-06-04T22:46:26  <zenhase> of d.l.o?
2007-06-04T22:46:29  <zenhase> ah ok
2007-06-04T22:49:31  <zenhase> hmm
2007-06-04T22:51:14  <zenhase> i see that trac does it the other way round ... it's more like the user supplies the base-template and this one is included by the trac internal one
2007-06-04T22:51:37  <zenhase> which of course makes much more sense ... stupid me
2007-06-04T22:51:49  <xorAxAx> i think trac has a special one thats nearly empty
2007-06-04T22:51:54  <xorAxAx> and the user can match tracs tags
2007-06-04T22:52:01  <xorAxAx> maybe you mean that
2007-06-04T22:52:43  <zenhase> well, it's currently not documented at all i think
2007-06-04T22:53:05  <zenhase> or did you mean their old clearsilver-stuff?
2007-06-04T22:53:31  <xorAxAx> no, the genshi stuff
2007-06-04T22:53:36  <xorAxAx> why do you need documentation? :)
2007-06-04T22:53:42  <xorAxAx> there are comments in the files IIRC
2007-06-04T22:53:56  <xorAxAx> and you might want to ask in #trac
2007-06-04T22:54:47  * grzywacz is waiting for coffee to start working
2007-06-04T22:55:07  <zenhase> xorAxAx: did find it i think
2007-06-04T22:55:24  <zenhase> xorAxAx: it's called Chrome as it seems
2007-06-04T22:55:50  <zenhase> "Responsible for assembling the web site chrome, i.e. everything that is not actual page content."
2007-06-04T22:57:16  <zenhase> short cigarette break
2007-06-04T22:57:28  <xorAxAx> drugs are bad, hmkay? :)
2007-06-04T22:57:37  <xorAxAx> they say in southpark
2007-06-04T22:58:12  <zenhase> i know
2007-06-04T22:58:47  <zenhase> i am aware that i mutilate my body :/
2007-06-04T23:00:06  <xorAxAx> as long as you wont die before august, we wont mind
2007-06-04T23:00:16  <xorAxAx> ;-)
2007-06-04T23:02:11  <zenhase> i don't intend to o_O
2007-06-04T23:03:39  <ThomasWaldmann> xorAxAx: hey, we search for long term commitment :D
2007-06-04T23:04:15  <dreimark> xorAxAx: queryparser is that a fix for negoation too?
2007-06-04T23:07:54  <xorAxAx> dreimark: nope
2007-06-04T23:08:05  <xorAxAx> dreimark: that code was old ... i didnt understand it
2007-06-04T23:08:12  <xorAxAx> so i reduced 5 lines into 1
2007-06-04T23:10:06  <dreimark> :) but if I use now AdvancedSearch with Help and negoate Contents  for title search it is correct
2007-06-04T23:10:32  <dreimark> I am not sure if this wasn't before
2007-06-04T23:11:02  <ThomasWaldmann> xorAxAx: for what did you need that email callback?
2007-06-04T23:11:15  <xorAxAx> ThomasWaldmann: AD doesnt have mail addresses
2007-06-04T23:11:36  <xorAxAx> so i have some code that generates addresses by using some heuristic
2007-06-04T23:11:47  <ThomasWaldmann> if you dont put them in, it doesnt :)
2007-06-04T23:12:03  <xorAxAx> yeah
2007-06-04T23:12:12  <xorAxAx> i could query them from the exchange
2007-06-04T23:12:22  <xorAxAx> the exchange is much larger than the AD
2007-06-04T23:12:47  <xorAxAx> (and i could probably use LDAP as well, but currently the heuristic should be enough for the few users)
2007-06-04T23:18:48  <zenhase> xorAxAx: really sophisticated way trac has choosen there
2007-06-04T23:19:14  <xorAxAx> i dont think so. moin is a premium wiki, not everybody is smart enough to do themes :)
2007-06-04T23:19:33  <xorAxAx> it was like that before and it could be like that in the future :-)
2007-06-04T23:19:40  <xorAxAx> well, abstractions are nice if they ease the user
2007-06-04T23:20:09  <zenhase> hmm?
2007-06-04T23:20:19  <zenhase> i don't quite follow
2007-06-04T23:21:32  <xorAxAx> the idea is - would the trac solution be too complex for our users?
2007-06-04T23:22:07  <zenhase> i don't think so
2007-06-04T23:22:19  <zenhase> http://trac.edgewall.org/wiki/TracInterfaceCustomization
2007-06-04T23:22:42  <zenhase> there is an example for how user-templates could look like
2007-06-04T23:22:59  <xorAxAx> yeah
2007-06-04T23:23:40  <zenhase> we could make it a bit easier to use by providing helper-methods for the most-common select-statements
2007-06-04T23:23:55  <zenhase> then templating should be a breeze
2007-06-04T23:25:17  <zenhase> things like those py:attrs on head and body could be even checked by a genshi theme filter
2007-06-04T23:25:58  <grzywacz> ThomasWaldmann, is it ok to change filter -> filter_? Somehow I don't have an idea for a better name...
2007-06-04T23:26:00  <zenhase> so if they aren't there they are added with those default-values
2007-06-04T23:26:26  <xorAxAx> grzywacz: filter_func :)
2007-06-04T23:26:49  <zenhase> i still have one problem with tracs approach
2007-06-04T23:27:34  <grzywacz> xorAxAx, was considering this as well, but looks kind of strange. ;-)
2007-06-04T23:27:51  <xorAxAx> will be gone in 3 months any
2007-06-04T23:27:52  <ThomasWaldmann> grzywacz: python programmers will understand the strange name
2007-06-04T23:27:52  <xorAxAx> way
2007-06-04T23:28:27  <grzywacz> xorAxAx, hm, right.
2007-06-04T23:29:12  <grzywacz> ThomasWaldmann, well, adding an underscore in such situation is recommended by pep8, as you know.
2007-06-04T23:29:48  <zenhase> it's that moin currently renders by emitting header/footer-html via the theme code and writes the htmlized wikioutput someplace else
2007-06-04T23:30:09  <xorAxAx> zenhase: yes, you would simply accept that as a var in the env i think
2007-06-04T23:30:39  <zenhase> xorAxAx: should i exchange request.write on theme-init then?
2007-06-04T23:30:47  <xorAxAx> no
2007-06-04T23:30:48  <zenhase> and capture the output?
2007-06-04T23:31:00  <xorAxAx> well
2007-06-04T23:31:10  <xorAxAx> either you choose to refactor or you do
2007-06-04T23:31:13  <zenhase> for the prototype theme that is
2007-06-04T23:31:26  <xorAxAx> for the prototype, yes
2007-06-04T23:31:45  <ThomasWaldmann> grzywacz: i would rather chose another name than adding a ugly _ at the end
2007-06-04T23:32:08  <ThomasWaldmann> of course you can do that, if you dont have any other idea, but filter_func looks ok
2007-06-04T23:32:58  <ThomasWaldmann> xorAxAx: http://moinmaster.wikiwikiweb.de/HelpOnAuthentication/LDAP add your stuff there
2007-06-04T23:33:52  <xorAxAx> ThomasWaldmann: ok
2007-06-04T23:34:37  <grzywacz> Does it work with pre 1.7 Moin?
2007-06-04T23:35:14  <xorAxAx> grzywacz: what?
2007-06-04T23:35:26  <grzywacz> Ldap auth?
2007-06-04T23:35:32  <zenhase> xorAxAx: of course i would really like to (and plan to) change those things later on but for the first results to happen it would require too much time :>
2007-06-04T23:35:34  <xorAxAx> should work, yes
2007-06-04T23:35:39  <grzywacz> ack
2007-06-04T23:35:41  <xorAxAx> somehow
2007-06-04T23:35:45  <xorAxAx> the docs are somewhere
2007-06-04T23:35:55  <xorAxAx> zenhase: very true
2007-06-04T23:36:22  * ThomasWaldmann likes those Ohje* help page names :)
2007-06-04T23:37:12  <zenhase> xorAxAx: well, i do the switcharoo thingy then, mark it has HACKHACK in a comment, and then if baselayout works nice, will design a clean approach for a full genshi integration
2007-06-04T23:38:18  <zenhase> damnit
2007-06-04T23:38:45  <zenhase> 22mins till midnight and no code submitted :>
2007-06-04T23:39:04  <grzywacz> lol
2007-06-04T23:39:14  <xorAxAx> oh oh, thomas is above you!, 3 lines
2007-06-04T23:39:19  <zenhase> ah well ... so it will appear after 0:00  ..
2007-06-04T23:39:22  <xorAxAx> s/3/by §/
2007-06-04T23:39:32  <xorAxAx> s/§/&/
2007-06-04T23:39:45  <grzywacz> That was confusing.
2007-06-04T23:40:08  <xorAxAx> :-)
2007-06-04T23:40:17  <xorAxAx> by 3 lines, i wanted to say
2007-06-04T23:42:30  <zenhase> xorAxAx: btw. ... hope i don't steal to much of your and grzywacz's time ... since your his mentor and not mine actually :>
2007-06-04T23:42:37  <zenhase> s/to/too
2007-06-04T23:43:05  * xorAxAx adds grzywacz's blog feed to his reader to facilitate censorship and surveillance over any assertions about moin and his mentor
2007-06-04T23:43:12  <grzywacz> lol
2007-06-04T23:43:26  <grzywacz> zenhase, no problem, I don't bother him much.;)
2007-06-04T23:43:34  <xorAxAx> zenhase: we are all each others mentor, somehow
2007-06-04T23:43:42  <xorAxAx> zenhase: dont fear to ask
2007-06-04T23:43:58  <xorAxAx> and tell me your full address such that i can label the invoice correctly
2007-06-04T23:44:10  <xorAxAx> ;-)
2007-06-04T23:44:45  <grzywacz> ;]
2007-06-04T23:45:18  <xorAxAx> there is no distinct rss link on the page besides the <link>, right, grzywacz?
2007-06-04T23:48:55  <grzywacz> Yup.

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