2008-07-22T00:36:49  <dennda> Isn't the purpose of _write_file in PageEditor to write a file with the changes the user did to $data? (And potentially copying it from underlay to data first)
2008-07-22T00:37:34  <dennda> I wish johill was here so I could bug him with my questions :)
2008-07-22T00:38:51  <zenhase> try bugging others too ;)
2008-07-22T00:39:40  <zenhase> but ok, perhaps if it's particular to your task, others won't be that helpful
2008-07-22T00:39:41  <dennda> I could potentially hilight them all, yes, but it's much more fun if you got somebody dedicated :)
2008-07-22T00:40:01  <dennda> Oh, ThomasWaldmann, dreimark and xorAxAx have been very helpful today
2008-07-22T00:40:01  <zenhase> (meaning i for example don't know much about the new storage code)
2008-07-22T00:40:27  <dennda> This is more about the way moin stores things, not about the *new* storage code
2008-07-22T00:40:27  <zenhase> well, i am awake, so you might give it a try if it's about old codebase
2008-07-22T00:40:42  <xorAxAx> dennda: well, user is a bit misleading here. it could also be some other part of the code
2008-07-22T00:40:58  <xorAxAx> the user part is in the edit action IIRC
2008-07-22T00:41:05  <dennda> yeah
2008-07-22T00:41:18  <dennda> something or somebody saves a new page
2008-07-22T00:41:26  <xorAxAx> no
2008-07-22T00:41:36  <dennda> or edits an existing
2008-07-22T00:41:36  <xorAxAx> or changes a page
2008-07-22T00:41:39  <xorAxAx> yes :)
2008-07-22T00:41:44  <dennda> I was faster there :)
2008-07-22T00:41:58  <dennda> so the above statement of mine is correct?
2008-07-22T00:42:35  <xorAxAx> well, not sure what the current underlay design is
2008-07-22T00:42:56  <dennda> that's not too important
2008-07-22T00:43:08  <xorAxAx> well, the idea is to store the pageeditor state to disk
2008-07-22T00:43:51  <dennda> http://paste.pocoo.org/show/80006/
2008-07-22T00:43:53  <xorAxAx> in that praticular functions its only generating a new revision
2008-07-22T00:44:12  <dennda> I want to rewrite that metho
2008-07-22T00:44:12  <dennda> d
2008-07-22T00:44:16  <xorAxAx> yes, whats unclear?
2008-07-22T00:44:35  <xorAxAx> probably you also want refactor the code around it
2008-07-22T00:44:57  <xorAxAx> because extra, deleted, action is already a level too deep for the new api
2008-07-22T00:45:07  <xorAxAx> (around == its callers)
2008-07-22T00:45:54  <dennda> well
2008-07-22T00:46:43  <xorAxAx> the primary reason for my last hint was to ease the coding for you :)
2008-07-22T00:47:11  <xorAxAx> (also the function name is obviously wrong)
2008-07-22T00:47:27  <dennda> it may be the time of the day, but where does it check if the page exists in underlay before potentially creating it? where does it actually store the page in $data?
2008-07-22T00:47:38  <dennda> what function name would you suggest?
2008-07-22T00:47:44  <dennda> (I am ignoring the parameters for now)
2008-07-22T00:52:16  <xorAxAx> heinrich removed a lot of that
2008-07-22T00:52:29  <xorAxAx> because the idea is that there is no cow anymore
2008-07-22T00:56:00  <dennda> why?
2008-07-22T00:56:26  <dennda> I was just thinking it is a good idea to do cow
2008-07-22T00:57:16  <xorAxAx> see the discussions and the meta discussions :)
2008-07-22T00:57:27  <xorAxAx> i think we had a metadiscussion when you were here
2008-07-22T00:57:31  <xorAxAx> with a link to the real discussion
2008-07-22T00:57:40  <xorAxAx> i dont remember, i wasnt his mentor :)
2008-07-22T01:05:49  <dennda> .oO(?)
2008-07-22T01:05:55  <dennda> You know how big that log is? :)
2008-07-22T01:10:09  <xorAxAx> dennda: ?
2008-07-22T01:10:23  <xorAxAx> dennda: grep this channel for "xor.*http.*Chat" from reverse
2008-07-22T01:10:27  <xorAxAx> < 20 secs involved
2008-07-22T01:11:32  <dennda> How did you come up with that regex?
2008-07-22T01:11:42  <xorAxAx> 00:57:26 <         xorAxAx > i think we had a metadiscussion when you were here
2008-07-22T01:11:46  <xorAxAx> 00:57:30 <         xorAxAx > with a link to the real discussion
2008-07-22T01:12:03  <xorAxAx> and because johill doesnt skim logs, i must have posted it
2008-07-22T01:13:13  <xorAxAx> and Chat is in every url to the irc logs in the wiki
2008-07-22T01:14:36  <dennda> clev0r
2008-07-22T01:14:40  <dennda> let's see if it works
2008-07-22T01:15:51  <xorAxAx> what do ebay and moin have in common?
2008-07-22T01:15:56  <dennda> Two hits, examining...
2008-07-22T01:16:19  <dennda> dunno, hit me
2008-07-22T01:16:22  <xorAxAx> both are using their implementation code language to generate pages without involving any html or xml or xhtml or xslt file: http://www.youtube.com/watch%3Fv=yVNF6COKQwE (around 9:40)
2008-07-22T01:16:32  <xorAxAx> ebay is probably 99% java
2008-07-22T01:16:40  <xorAxAx> everything is a java class
2008-07-22T01:16:43  <dennda> Oh I thought that was going to be a joke
2008-07-22T01:16:47  <dennda> hmmm
2008-07-22T01:16:51  <dennda> JSP?
2008-07-22T01:16:55  <dennda> or servelets?
2008-07-22T01:16:56  <xorAxAx> nope, thats not java
2008-07-22T01:16:58  <dennda> or worse?
2008-07-22T01:17:03  <xorAxAx> nah, more component based
2008-07-22T01:17:11  <xorAxAx> its pretty funny
2008-07-22T01:17:12  <dennda> what is not java?
2008-07-22T01:17:17  <xorAxAx> javascript
2008-07-22T01:17:25  <dennda> not JS, JSP
2008-07-22T01:17:29  <xorAxAx> they wrote a lot of eclipse plugins to do code generation
2008-07-22T01:17:30  <dennda> Java Server Pages
2008-07-22T01:17:34  <xorAxAx> jsp is not java
2008-07-22T01:17:50  <xorAxAx> it embeds java
2008-07-22T01:17:58  <xorAxAx> but they embed html into java
2008-07-22T01:18:07  <xorAxAx> likewise css
2008-07-22T01:19:33  <dennda> servelets == java classes with _("reingeschmiertem") html, JSP == HTML with wannabe java templating language, but with the full java functionality
2008-07-22T01:21:37  <xorAxAx> dennda: i have done about 3 years of professional java web coding
2008-07-22T01:22:54  <dennda> Any permanent damages?
2008-07-22T01:23:30  <xorAxAx> yes, but not primarily because of the language :)
2008-07-22T01:32:01  <lesterc> is java really _that_ bad? :)
2008-07-22T01:43:59  <zenhase> no, but it doesn't play well with dynamic minds
2008-07-22T01:48:15  <lesterc> different tool for different purpose I'll say.
2008-07-22T01:52:55  <zenhase> yeah, programming languages for programming and java for software engineering heavyweights
2008-07-22T01:53:56  <zenhase> i know of some different languages for different problems/domains, but java is actually not one of them i would consider
2008-07-22T01:54:07  <zenhase> there are many cool alternatives
2008-07-22T01:54:22  <zenhase> java is more like the strict common denominator in imperative programming
2008-07-22T01:55:00  <zenhase> i think it was mostly designed for untrained programmers that may use some cleanly engineered frameworks
2008-07-22T01:56:25  <lesterc> *cough* uni fresh grad *cough* :D
2008-07-22T01:56:45  <zenhase> hum?
2008-07-22T02:16:04  <lesterc> nevermind that.
2008-07-22T02:17:40  <lesterc> Just that I wonder if it's the strictness and the componentization of java makes it a commercial success.
2008-07-22T02:48:12  <dennda> xorAxAx: By the way, no appropriate discussion found :(
2008-07-22T06:05:15  * gizmach travels
2008-07-22T08:16:58  <dreimark> moin
2008-07-22T08:17:06  <dreimark> dennda: http://moinmo.in/?action=fullsearch&context=180&value=title%3AChat%2FLogs%2Fmoin-dev+xor.*http.*Chat+&fullsearch=Text
2008-07-22T08:17:14  <dreimark> 5 results
2008-07-22T08:18:03  <dreimark> bbl
2008-07-22T09:15:29  <dreimark> re
2008-07-22T10:11:58  <ThomasWaldmann> moin
2008-07-22T10:13:34  <xorAxAx> dreimark: unfortunately completly useless because the search is broken
2008-07-22T10:13:56  <xorAxAx> http://moinmo.in/MoinMoinWiki?action=fullsearch&context=180&value=title%3AChat%2FLogs%2Fmoin-dev+regex%3Axor.%2Ahttp.%2AChat+&fullsearch=Text
2008-07-22T10:15:38  <xorAxAx> but i cant find it either
2008-07-22T10:19:10  <xorAxAx> now i remember
2008-07-22T10:19:16  <xorAxAx> i pasted a search url here :)
2008-07-22T10:19:43  <xorAxAx> 19:44:25 < xorAxAx> johill: http://moinmo.in/?action=fullsearch&context=180&value=t%3Achat+r%3Acopy.%2Aunderlay&fullsearch=Text
2008-07-22T10:19:46  <xorAxAx> 19:44:32 < xorAxAx> johill: call me mr. full text search :)
2008-07-22T10:19:49  <xorAxAx> dennda:
2008-07-22T11:37:05  <ThomasWaldmann> TheSheep: btw, did you have a look at the ubuntu theme?
2008-07-22T11:38:51  <ThomasWaldmann> https://lists.ubuntu.com/archives/loco-contacts/2006-October/000591.html
2008-07-22T11:59:12  <TheSheep> ThomasWaldmann: not yet
2008-07-22T12:34:39  <xorAxAx> "Also due to the design of the byte sequences, if a sequence of bytes supposed to represent text validates as UTF-8 then it is fairly safe to assume it is UTF-8. The chance of a random sequence of bytes being valid UTF-8 and not pure ASCII is 3.1% for a 2 byte sequence, 0.39% for a 3 byte sequence and even lower for longer sequences."
2008-07-22T12:54:05  <TheSheep> xorAxAx: random with what distribution?
2008-07-22T12:56:49  <xorAxAx> TheSheep: well, if there is no hint, we can assume that it is uniformly distributed
2008-07-22T12:57:35  <TheSheep> what application generates uniformly distributed data?
2008-07-22T12:57:44  <TheSheep> except for some crypto stuff
2008-07-22T13:05:26  <xorAxAx> i propose that any real world corpus generates lower collisions
2008-07-22T13:05:52  <xorAxAx> s/propose/claim/
2008-07-22T13:17:43  <dennda> xorAxAx: great, thanks. I'll read that
2008-07-22T13:18:19  <xorAxAx> dennda: also search for the link. in the meta discussion johill points out another use case
2008-07-22T13:18:55  <dennda> the link you posted?
2008-07-22T13:19:05  <xorAxAx> yes, it appears in the logs
2008-07-22T14:44:12  <ThomasWaldmann> re
2008-07-22T14:49:30  <johill> morning
2008-07-22T15:03:29  <johill> dennda: well I'm here now ;)
2008-07-22T15:05:16  <johill> dennda: but a wiki page would probably be better
2008-07-22T15:33:35  <dennda> johill: Yeah. I will come back to you in a few minutes. Got an urgent problem to solve
2008-07-22T15:38:58  <dreimark> hi johill
2008-07-22T16:29:37  <johill> hi hi
2008-07-22T16:29:42  <johill> we have to continue now
2008-07-22T16:32:55  <dennda> Just finished my stuff :p
2008-07-22T16:33:10  <dennda> johill: Shall I create a wiki page with all questions that come up?
2008-07-22T16:33:28  <dennda> johill: I want to rewrite _write_file so it works
2008-07-22T16:41:07  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3902:0347889df050 1.8-guieditor-mbyeongweon/ (18 files in 14 dirs): merge with 1.8 main branch
2008-07-22T16:41:08  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3903:d8771735a6db 1.8-guieditor-mbyeongweon/MoinMoin/converter/text_html_text_moin_wiki.py: fix 'inline tags replaced by span tag with firefox rich text editor Midas issue'
2008-07-22T17:07:06  <johill> dennda: please do, I'm listening to talks now etc
2008-07-22T17:09:10  <dennda> OK, enjoy it
2008-07-22T17:10:54  <johill> actually, we're discussing a lot more now
2008-07-22T17:11:10  <ThomasWaldmann> byegonweon: is_bold = "bold" in node_style
2008-07-22T17:11:38  <ThomasWaldmann> (find() also works, but why complicated if "in" also works :)
2008-07-22T17:11:57  <byegonweon> ThomasWaldmann: thanks a lot :)
2008-07-22T17:14:21  <ThomasWaldmann> btw, in author value of changeset, part of your name is missing - is that intended?
2008-07-22T17:14:54  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3904:5a2a710367cb 1.8-guieditor-mbyeongweon/MoinMoin/converter/text_html_text_moin_wiki.py: fix string match code better way using 'in' notation
2008-07-22T17:16:39  <ThomasWaldmann> byegonweon: did you look already at the link editing problem?
2008-07-22T17:17:25  <byegonweon> ThomasWaldmann: yes. sooner later that will be fixed
2008-07-22T17:18:04  <ThomasWaldmann> :)
2008-07-22T18:11:53  <ThomasWaldmann> grep Eep sql1.py >toomuch
2008-07-22T18:13:29  <johill> ThomasWaldmann: well yeah, that's pointing out all the problems with the old API
2008-07-22T18:13:35  <johill> anyway, lunch
2008-07-22T18:13:51  <gizmach> hi from Porec
2008-07-22T18:14:08  <gizmach> me has only dialup at 56k on win :(
2008-07-22T18:14:42  <ThomasWaldmann> that's what DVCS is good for
2008-07-22T18:16:10  <gizmach> dreimark: r u there?
2008-07-22T18:17:51  <dreimark> yes
2008-07-22T18:18:31  * dreimark has recognized fcgid is broken in SuSE 10.3 and tries since some time to compile mod_wsgi
2008-07-22T18:18:49  <dreimark> gizmach: greetings
2008-07-22T18:19:27  <ThomasWaldmann> TheSheep: pawel's hg backend is (c) 2007 X)
2008-07-22T18:20:19  <gizmach> dreimark: thx, have you look at the code (I've done some changes but I'll have problems with commiting code- pushing it)
2008-07-22T18:22:01  <dreimark> MoinMoin/datastruct/backend/group_ldap.py comments do have some typos
2008-07-22T18:22:44  * dreimark looks into it currently
2008-07-22T18:22:54  <mmihaljevic> ok this will be painfull
2008-07-22T18:23:10  <mmihaljevic> dreimark: it you said something my connection was broken
2008-07-22T18:23:28  <dreimark> in a quarter it is in the log
2008-07-22T18:23:34  * dreimark is reading it currently
2008-07-22T18:23:36  <mmihaljevic> dreimark: ok
2008-07-22T18:23:37  <mmihaljevic> :)
2008-07-22T18:24:17  <dreimark> me wonders
2008-07-22T18:24:26  <dreimark> def __contains__(self, item): and user_name = item
2008-07-22T18:24:34  <dreimark> why not directly user_name
2008-07-22T18:25:03  <mmihaljevic> dreimark: :) I planed to changed that (also will change some names)
2008-07-22T18:25:11  <dreimark> # if user does not exist: comment in python ;)
2008-07-22T18:25:26  <mmihaljevic> :D
2008-07-22T18:26:01  <mmihaljevic> ok some of that comments are probably my mind stream and I need to remove it
2008-07-22T18:26:10  <mmihaljevic> also about the snippet for wikiconfig
2008-07-22T18:27:12  <dreimark> isn't test_sourcecode complaining ?
2008-07-22T18:27:41  <mmihaljevic> I wanted to ask can I added the ldap group config to ldap_auth?
2008-07-22T18:27:56  <mmihaljevic> dreimark: noall test passed before I pushed that code
2008-07-22T18:28:13  <mmihaljevic> (and now I can't check- will do that on linux after I loged out)
2008-07-22T18:28:40  <dreimark> in def _ldap_search(self, search_filter):
2008-07-22T18:28:41  <mmihaljevic> but I'll try these days at my mothers company to use net and linuy or to solve this problem somehow
2008-07-22T18:28:47  <dreimark> coding = 'utf-8'
2008-07-22T18:28:54  <dreimark> for what is that used ?
2008-07-22T18:29:25  <mmihaljevic> dreimark: I think that was for ldap connection before so I didn't removed it
2008-07-22T18:29:59  <dreimark> hmm can't see from the pastebin if this var is used there
2008-07-22T18:30:17  <dreimark> but looks not
2008-07-22T18:30:27  <mmihaljevic> dreimark: it isn't it was defined in ldap auth code or somewhere
2008-07-22T18:30:38  <mmihaljevic> so I used that but I think it doesn't use it
2008-07-22T18:31:19  <dreimark> ODO: Encode LDAP groups in MoinMoin group form and decode into LDAP group format ??
2008-07-22T18:31:22  <dreimark> +T
2008-07-22T18:32:03  <mmihaljevic> dreimark: well I have for example Group A and it needs to be in cammel case for use to the MM group
2008-07-22T18:32:16  <dreimark> test_groupldap.py -> test_group_ldap.py or
2008-07-22T18:32:29  <mmihaljevic> yes :)
2008-07-22T18:32:50  <dreimark> mmihaljevic: MM group is defined from page_group_regex
2008-07-22T18:33:05  <mmihaljevic> dreimark: ok I said that wrong
2008-07-22T18:33:31  <dreimark> "MoinMoin group form" needs to be extended for me
2008-07-22T18:33:32  <mmihaljevic> but we want to use LDAP groups as groups on wiki
2008-07-22T18:34:21  <mmihaljevic> and GroupA will bw requested group for which I want to check acls
2008-07-22T18:34:22  <dreimark> # -*- coding: utf-8 -*- is it neccessary ?
2008-07-22T18:34:28  <mmihaljevic> it won't be group A
2008-07-22T18:34:47  <mmihaljevic> dreimark: don't know
2008-07-22T18:35:11  <dreimark> mmihaljevic: I do mean the explaination in the ToDo is not easy to read
2008-07-22T18:35:29  <dreimark> a form is something different to format
2008-07-22T18:35:43  <mmihaljevic> dreimark: ok I will write better explanations
2008-07-22T18:36:04  <dreimark> you can use utf-8 encoding if you have signs in your test which do require it
2008-07-22T18:36:14  <mmihaljevic> dreimark: can you explain the last sentence plese
2008-07-22T18:36:29  <mmihaljevic> the < dreimark> a form is something different to format
2008-07-22T18:37:06  <dreimark> TODO: Encode LDAP groups in MoinMoin group form and decode into LDAP group format
2008-07-22T18:37:36  <dreimark> you tell about MoinMoin group form in comparison to LDAP
2008-07-22T18:37:40  <dreimark> group format
2008-07-22T18:38:28  <mmihaljevic> dreimark:  true I said that wrong
2008-07-22T18:39:00  <mmihaljevic> I mean something different (as I explained upper)
2008-07-22T18:39:28  <dreimark> # first check if we have python 2.4, python-ldap and slapd:
2008-07-22T18:39:42  <dreimark> what happens with 2.3 or 2.5 ?
2008-07-22T18:40:19  <dreimark> in _tests/test_groupldap.py
2008-07-22T18:40:32  <mmihaljevic> dreimark: well I din't try with 2.3 but I need to make to have at least 2.4 or if it works 2.3
2008-07-22T18:41:30  <dreimark> the comment should tell "at least" then#
2008-07-22T18:41:42  <mmihaljevic> :) will change that
2008-07-22T18:42:59  <dreimark>  #check that G blank missing after #
2008-07-22T18:43:21  <dreimark> where is "Group D" defined ?
2008-07-22T18:44:41  <dreimark> ok, found it
2008-07-22T18:45:22  <mmihaljevic> ok
2008-07-22T18:45:48  <dreimark> #check that Grouo E is not LDAP group:
2008-07-22T18:45:49  <dreimark> typo
2008-07-22T18:46:11  <mmihaljevic> urg I will fix that
2008-07-22T18:49:05  <dreimark> currently I don't think it is a good idea to add the ldap group config to ldap_auth.
2008-07-22T18:49:27  <dreimark> we can talk about this at the end of soc again.
2008-07-22T18:51:47  <mmihaljevic> dreimark: ok I will make separate ldap  config snippet
2008-07-22T18:52:02  * dreimark would prefer a similiar test structure for ldap as used for test_groupwiki
2008-07-22T18:53:54  <mmihaljevic> dreimark: ok I will do that
2008-07-22T18:54:04  <dreimark> and similiar names, testLdapBackend, testWikiBackendGroups, testConfigBackend
2008-07-22T18:54:20  <dreimark> testWikiBackendGroups is different named
2008-07-22T18:55:41  <mmihaljevic> dok will change dit
2008-07-22T18:56:38  <dreimark> there should be some tests also which uses more than one group definition at the same time
2008-07-22T19:00:58  <mmihaljevic> dreimark: you mean moin_backend , group_backend at the same time
2008-07-22T19:01:08  <mmihaljevic> this shold probably be defined at datastruct tests?
2008-07-22T19:02:37  <ThomasWaldmann> mmihaljevic: I suggest you invent some kind of "server" or "server definition" object for the ldap stuff
2008-07-22T19:03:04  <ThomasWaldmann> otherwise ldap users will have to specify the same kind of information twice: for auth and for groups
2008-07-22T19:04:05  <ThomasWaldmann> (maybe it could also be a connection object?)
2008-07-22T19:04:25  <mmihaljevic> ThomasWaldmann: ok I will (that was I wanted to put auth and group snippet in the same at first)
2008-07-22T19:04:37  <mmihaljevic> ThomasWaldmann: I think it could be ldap conn
2008-07-22T19:04:43  <ThomasWaldmann> (you can do this after you got your stuff cleaned up and working)
2008-07-22T19:05:03  <mmihaljevic> ThomasWaldmann: ok I will
2008-07-22T19:06:05  <ThomasWaldmann> + if not search_user:
2008-07-22T19:06:07  <ThomasWaldmann> + return bool(search_user)
2008-07-22T19:06:12  <ThomasWaldmann> ehrm?
2008-07-22T19:06:34  <mmihaljevic> ThomasWaldmann: well that was left I need to remove it
2008-07-22T19:06:37  <mmihaljevic> ah
2008-07-22T19:06:42  <mmihaljevic> I know what that is
2008-07-22T19:06:44  <mmihaljevic> :)
2008-07-22T19:06:51  <mmihaljevic> it's to stop searching for group
2008-07-22T19:06:55  <mmihaljevic> if there is no user
2008-07-22T19:07:19  <ThomasWaldmann> the second line is nonsense
2008-07-22T19:07:34  <mmihaljevic> ah ok
2008-07-22T19:10:50  <ThomasWaldmann> +            group_members = [ldap_dict['member'][1].split(',') for dn, ldap_dict in member_search][0]
2008-07-22T19:10:54  <ThomasWaldmann> explain that please
2008-07-22T19:12:37  <ThomasWaldmann> and how often did people tell you to only request the attributes you need? about all your ldap search requests are requesting ALL attributes!
2008-07-22T19:12:45  <mmihaljevic> well I took the second item with member key it's "uid=userid,..." and I splited to take the uis= userid
2008-07-22T19:13:14  <mmihaljevic> ThomasWaldmann: I know but how else couuld I iter trough all group members?
2008-07-22T19:13:56  <ThomasWaldmann> by requesting the attributes that store the members?
2008-07-22T19:14:51  <mmihaljevic> hm... true :)
2008-07-22T19:15:23  <ThomasWaldmann> and why is a search RESULT called ..._search?
2008-07-22T19:15:54  <mmihaljevic> erm my fault, will fix it
2008-07-22T19:16:39  <ThomasWaldmann> what is ..._search[0]?
2008-07-22T19:18:19  <mmihaljevic> ThomasWaldmann: I think it gets list so I take only element
2008-07-22T19:18:49  <ThomasWaldmann> + member_search = self._ldap_search(group_search_filter)
2008-07-22T19:18:50  <ThomasWaldmann> + if member_search[0]:
2008-07-22T19:18:57  <ThomasWaldmann> what does that if ... mean?
2008-07-22T19:19:33  <mmihaljevic> ah if the member thinks
2008-07-22T19:20:09  <ThomasWaldmann> ?
2008-07-22T19:20:10  <mmihaljevic> exists
2008-07-22T19:20:15  <mmihaljevic> ThomasWaldmann: pardon
2008-07-22T19:20:39  <ThomasWaldmann> please be more verbose
2008-07-22T19:22:05  <mmihaljevic> well the result is [something] and I need to take something
2008-07-22T19:22:45  <ThomasWaldmann> and if the result is [] ?
2008-07-22T19:23:04  <mmihaljevic> than [0] is none
2008-07-22T19:23:07  <mmihaljevic> urgh
2008-07-22T19:23:09  <mmihaljevic> you are right
2008-07-22T19:23:18  <ThomasWaldmann> IndexError
2008-07-22T19:23:25  <mmihaljevic> ThomasWaldmann: true
2008-07-22T19:23:39  <ThomasWaldmann> [] and [None] are different things
2008-07-22T19:24:17  <ThomasWaldmann> i suggest you use more logging.debug(...) to get a better clue about what you are dealing with
2008-07-22T19:24:49  <mmihaljevic> ThomasWaldmann: ok I will, thx for advices
2008-07-22T19:29:54  <ThomasWaldmann> dreimark: that comment about python 2.4 and slapd is from me. it is because I use subprocess in the ldap test framework.
2008-07-22T19:30:07  <mmihaljevic> ThomasWaldmann: ah pardon :)
2008-07-22T19:33:57  <ThomasWaldmann> mmihaljevic: except some typos, tests looks good
2008-07-22T19:39:23  <mmihaljevic> ThomasWaldmann: ok :)
2008-07-22T19:40:08  <mmihaljevic> I will fix that
2008-07-22T19:43:06  <mmihaljevic> ThomasWaldmann: also I need to ask on ldap mailing lists about members
2008-07-22T19:44:03  <mmihaljevic> bbl dinner
2008-07-22T19:50:36  <dreimark> aufgrund eines Streiks, zu dem die Gewerkschaft Vereinigung Cockpit (VC) die Piloten bei Lufthansa CityLine und Eurowings aufgerufen hat,
2008-07-22T19:50:39  <dreimark> kommt es zu unplanmäßigen Verzögerungen / Streichungen auf Lufthansa-Flügen, die von Cityline und Eurowings durchgeführt werden.
2008-07-22T19:52:04  <dennda> What is a s/h page?
2008-07-22T19:54:01  <dennda> ThomasWaldmann once used that term in a discussion about underlays, explaining the initial intent and I am trying to figure what he meant by that :)
2008-07-22T19:54:24  <dreimark> hmm, could be system/help page
2008-07-22T19:54:39  <dreimark> dennda:
2008-07-22T19:57:09  <dennda> Ok, would have been my guess, too
2008-07-22T20:07:37  <ThomasWaldmann> sure it is that
2008-07-22T20:27:34  <dreimark> mod_wsgi rocks after reading some extra suse docs:)
2008-07-22T20:27:56  <dreimark> ThomasWaldmann: I do get an error for display-name
2008-07-22T20:50:38  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 3927:f36c84edb3fd 1.8-wsgi-fkrupicka/MoinMoin/auth/_tests/test_auth.py: Fixed test: PEP8
2008-07-22T20:50:38  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 3928:db15f98e3228 1.8-wsgi-fkrupicka/MoinMoin/ (web/contexts.py wsgiapp.py): Split up wsgiapp.init and wsgiapp.run into smaller chunks
2008-07-22T20:50:39  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 3929:5dad898baf1f 1.8-wsgi-fkrupicka/MoinMoin/auth/_tests/test_auth.py: Fixed tests: run now returns a werkzeug-Response, not a Context anymore
2008-07-22T20:50:40  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 3930:c27f6cb0892e 1.8-wsgi-fkrupicka/MoinMoin/ (web/contexts.py xmlrpc/__init__.py): Fixed: XMLRPC calls
2008-07-22T20:57:53  <ThomasWaldmann> dreimark: iirc that is >=2.0
2008-07-22T20:58:54  <dreimark> I do use 2.1 and it complains if I enable it
2008-07-22T21:02:02  <ThomasWaldmann> brand new :)
2008-07-22T21:02:57  <dreimark> yeah and I was too lazy in reading the whole instructions so I'd ran into the differences for suse
2008-07-22T21:03:15  <dreimark> and got stuck a bit, but now it is nice
2008-07-22T21:07:24  <zenhase> dreimark: why does it only rock after reading extra docs? oO
2008-07-22T21:07:39  <zenhase> dreimark: and what actually rocks about it? :)
2008-07-22T21:13:39  <zenhase> it's nice to have some high-performance wsgi-adapter for apache, but in terms of security i think i still prefer setups with fcgi/scgi with externally started python
2008-07-22T21:15:08  <dreimark> fcgi is broken for SuSE 10.3
2008-07-22T21:15:47  <dreimark> zenhase: arnica was quite fast using cgi and I have seen how much faster it goes with wsgi
2008-07-22T22:01:17  <zenhase> :)
2008-07-22T22:01:52  <zenhase> i'll think i will do some benchmarks now
2008-07-22T22:02:11  <dreimark> what do you expect ?
2008-07-22T22:02:27  <zenhase> raw WSGI, flup fcgi/scgi, mod_wsgi, cgi
2008-07-22T22:02:28  <zenhase> actually not much of a change
2008-07-22T22:03:07  <zenhase> everything should run as fast (or slow, depending on pov) as ever
2008-07-22T22:24:40  <dreimark> is it known that we can use InterwikiMap for shortcuts of the current wiki ?
2008-07-22T22:24:52  <dreimark> e.g. 1 StartSeite
2008-07-22T22:25:27  <dreimark> and entering [[1:]] on a page links to StartSeite
2008-07-22T22:40:03  <waldi> Self
2008-07-22T22:41:27  <dennda> xorAxAx: That discussion wasn't too helpful
2008-07-22T22:42:02  <dennda> The basic thing discussed was "Do we want to get rid of underlay, yes or no?"
2008-07-22T22:42:35  <xorAxAx> dennda: which discussion? the lanius one or the johill one?
2008-07-22T22:43:16  <dennda> You had one with johill and johill had one with lanius
2008-07-22T22:43:37  <dennda> I just want to know if I need to keep underlay and if yes, how to integrate it
2008-07-22T22:43:47  <dennda> Basically, I just want something working to get started
2008-07-22T22:47:15  <xorAxAx> well, then keep lanius design decision
2008-07-22T22:47:19  <xorAxAx> and ignore it on that layer
2008-07-22T22:47:43  <xorAxAx> until there is a new idea
2008-07-22T22:48:42  <ThomasWaldmann> zenhase: a more interesting benchmark is wsgi simpleserver vs. standalone 1.7
2008-07-22T22:50:44  <dennda> xorAxAx: So just ignore underlay completely?
2008-07-22T22:51:16  <xorAxAx> dennda: no, underlay is implemented by a storage backend that merges the namespaces of its child backends
2008-07-22T22:53:48  <dennda> I am not sure if I got you right. So, a request for page Foo comes. if not data_backend.has_item("Foo"): check if underlay_backend.has_item("Foo") and return it eventually, yes?
2008-07-22T22:56:08  <xorAxAx> no
2008-07-22T22:56:19  <xorAxAx> there is one storgae backend for pages
2008-07-22T22:56:21  <dennda> hmpf
2008-07-22T22:56:30  <xorAxAx> and that storage backend implements the whole underlay idea
2008-07-22T22:56:41  <xorAxAx> but not in its code
2008-07-22T22:56:51  <xorAxAx> but by the possibility to delegate to child backends
2008-07-22T22:57:00  <xorAxAx> which are a data backend and the underlay backend
2008-07-22T22:57:02  <dennda> What do you mean by child backends?
2008-07-22T22:57:16  <xorAxAx> additional backends that are used by the master backend
2008-07-22T22:57:45  <dennda> What is the benefit of that?
2008-07-22T22:57:55  <xorAxAx> abstraction, less code, easier code, faster, simpler
2008-07-22T22:58:02  <xorAxAx> less bugs
2008-07-22T22:58:14  <dennda> You could well just have one backend with all underlay pages upon initialization which are then altered
2008-07-22T22:58:19  <dennda> what's wrong with that?
2008-07-22T22:58:37  <xorAxAx> hmm, yeah, indeed, that was lanius idea
2008-07-22T22:58:42  <xorAxAx> confused that
2008-07-22T22:58:55  <dennda> oh
2008-07-22T22:59:03  <xorAxAx> my point is that it shouldnt be thought about if you are working on this level
2008-07-22T22:59:25  <xorAxAx> otherwise you have seen abstraction inversion and need to go back to the drawing board
2008-07-22T22:59:39  <dennda> umm
2008-07-22T23:00:46  <dennda> Actually, if we did it this way, there must be *one* point where all the data is copied to the corresponding backend (if you use the FSBackend you don't need to copy anything of course)
2008-07-22T23:01:25  <dennda> If that is a good idea I am not sure. If you were always using the memory backend that would slow it down considerably, because the underlay folder is not that small in size
2008-07-22T23:01:26  <xorAxAx> copied?
2008-07-22T23:01:53  <xorAxAx> lanius scheme was to have one backend only and one set of pages only
2008-07-22T23:01:58  <dennda> Well, if you want to only use one Backend, say, an SQL Backend, you'd obviously need to get the data to your sql database, wouldn't you?
2008-07-22T23:02:01  <xorAxAx> this set is updated on moin upgrade
2008-07-22T23:02:17  <xorAxAx> dennda: by some upgrade script that is using parts of the migration code
2008-07-22T23:02:25  <xorAxAx> thats trivial and still not this level :)
2008-07-22T23:03:12  <dennda> So, to get me back to work on Page.py and PageEditor.py: Just ignore that there is the idea of an underlay folder?
2008-07-22T23:03:18  <xorAxAx> yes!
2008-07-22T23:03:32  <dennda> Ok this is the answer I wanted
2008-07-22T23:03:38  <dennda> But there is one downside
2008-07-22T23:03:53  <xorAxAx> i already gave it a few minutes ago. whats the downside?
2008-07-22T23:04:11  <dennda> Well you tried your best to encrypt that answer :)
2008-07-22T23:04:23  <xorAxAx> 22:59:03 <         xorAxAx > my point is that it shouldnt be thought about if you are working on this level
2008-07-22T23:04:31  <xorAxAx> sorry what was cryptic?
2008-07-22T23:04:45  <dennda> The downside is that I can't check if my code is working immediately, because there is no migration or something like that yet
2008-07-22T23:04:51  <xorAxAx> i could have worded it without passive voice, yeah
2008-07-22T23:04:58  <dennda> oh sorry, I must have overlooked that somehow
2008-07-22T23:05:01  <xorAxAx> dennda: you mean your data dir is empty?
2008-07-22T23:05:17  <dennda> OK that was a suggestive question
2008-07-22T23:05:24  <xorAxAx> or what is the issue?
2008-07-22T23:05:37  <dennda> you mean just copy over the underlay data dir to my data data dir? :)
2008-07-22T23:05:39  <dennda> to test
2008-07-22T23:05:45  <xorAxAx> ???
2008-07-22T23:05:49  <xorAxAx> what do you want to test?
2008-07-22T23:05:55  <dennda> well
2008-07-22T23:06:20  <dennda> I want to rewrite Page.py and PageEditor.py to use the new storage so they can be used to view, create and alter pages
2008-07-22T23:06:31  <xorAxAx> yes
2008-07-22T23:06:37  <xorAxAx> still you were talking about underlay again
2008-07-22T23:06:39  <dennda> Right now, if you start a wikiserver what happens is this:
2008-07-22T23:06:44  <xorAxAx> which you shouldnt!
2008-07-22T23:07:06  <dennda> ok, let me answer your question: yes, I mean my data dir is empty.
2008-07-22T23:07:12  <xorAxAx> nice :)
2008-07-22T23:07:21  <dennda> Why is that nice?
2008-07-22T23:07:23  <xorAxAx> then create pages. like in your test. next question? :)
2008-07-22T23:08:02  <xorAxAx> in fact, you will probably only need missing page and recentchanges
2008-07-22T23:08:10  <xorAxAx> any other page that you are missing?
2008-07-22T23:08:18  <dennda> My idea a few seconds ago was to copy the data dir from the underlay (sic) folder to my data dir the backend uses
2008-07-22T23:08:33  <dennda> so I have those pages you just mentioned
2008-07-22T23:08:47  <xorAxAx> yes, thats the idea
2008-07-22T23:08:51  <xorAxAx> how it should work anyway
2008-07-22T23:08:58  <dennda> Why the three question marks then? :)
2008-07-22T23:09:00  <xorAxAx> not via this path
2008-07-22T23:09:03  <dennda> That's what I was saying
2008-07-22T23:09:09  <dennda> sure
2008-07-22T23:09:10  <xorAxAx> because you were talking about underlay
2008-07-22T23:09:11  <dennda> just to test
2008-07-22T23:09:26  <dennda> yes, but not using anything underlay related in code
2008-07-22T23:09:33  <xorAxAx> as i said, its not completly necessary but shouldnt hurt
2008-07-22T23:09:38  <dennda> just the actual page data located inside a folder that happens to be called underlay
2008-07-22T23:09:39  <xorAxAx> you didnt make your intention clear
2008-07-22T23:09:48  <xorAxAx> ok, go ahead :)
2008-07-22T23:09:56  <dennda> Was that clear enough? :)
2008-07-22T23:10:02  <xorAxAx> yes
2008-07-22T23:10:17  <dennda> ok, thanks for claryfying. That helped a lot
2008-07-22T23:10:24  <dennda> (Hopefully)
2008-07-22T23:14:26  * dennda removes that "copy_underlay_page" he wrote yesterday but didn't commit
2008-07-22T23:16:11  <xorAxAx> thats the ease of abstraction - it lets you forget
2008-07-22T23:16:20  <xorAxAx> or at least suppress
2008-07-22T23:16:24  <dennda> heh
2008-07-22T23:16:40  <dennda> You said yesterday the _write_file-thingy could be refactored anyway, didn't you?
2008-07-22T23:16:52  <dennda> I got a whole bunch of parameters I don't recognize
2008-07-22T23:17:20  <xorAxAx> yes, the point is that it should be void anyway
2008-07-22T23:17:30  <xorAxAx> because the whole purpose is to create a new revision
2008-07-22T23:17:32  <dennda> the parameters be void, you mean?
2008-07-22T23:17:36  <xorAxAx> no, the function
2008-07-22T23:17:51  <dennda> could you rephrase that?
2008-07-22T23:18:57  <xorAxAx> the previous use case was mostly to do the bitflipping work on the drive platter to create a new revision
2008-07-22T23:19:05  <xorAxAx> but thats gone on this level now
2008-07-22T23:19:11  <xorAxAx> so the function should go away as well
2008-07-22T23:19:15  <dreimark> gn
2008-07-22T23:19:24  <xorAxAx> all callees should also be refactored to adhere to the new api
2008-07-22T23:19:35  <xorAxAx> (they are not many)
2008-07-22T23:34:32  <dennda> xorAxAx: I was under the impression that _write_file is the method responsible to store the text coming from the form to the data backend, no?
2008-07-22T23:34:51  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4354:66f1234a3f3c 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/ (test_backends.py test_backends_file.py): (test_backends) Moved test from file backend tests to generic class.
2008-07-22T23:34:52  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4355:49c29ca4a8fa 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends_hg.py: (test_backends_hg) Removed duplicated tests. Fixed and refactored test_backend_init. Added new tests.
2008-07-22T23:34:53  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4356:cbd04c569903 1.8-mercurialbackend-ppacana/MoinMoin/storage/_tests/test_backends.py: Test refactoring - added create, get, rename tests for items without revisions.
2008-07-22T23:34:56  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4357:f7a3807f3f05 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: (hg) Item and repository lock refactoring. Item locks fixed.
2008-07-22T23:34:59  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4358:2c12d1b59688 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: (hg) Added _has_meta helper method.
2008-07-22T23:35:02  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4359:ceb43808f1dd 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: (hg) Item metadata refactoring. Docstring improvement.
2008-07-22T23:35:44  <xorAxAx> dennda: yes
2008-07-22T23:35:55  <xorAxAx> dennda: but it also needs to create a new revision if necessary
2008-07-22T23:35:56  <dennda> So how can that be void?
2008-07-22T23:36:04  <xorAxAx> well, on that level it is gone
2008-07-22T23:36:10  <xorAxAx> because the backend does that
2008-07-22T23:36:36  <dennda> What exactly do you mean by saying "it has to be void on that level"? It sounds like: remove that method from the file
2008-07-22T23:36:51  <xorAxAx> yes, thats the idea
2008-07-22T23:37:18  <xorAxAx> and rewrite every caller with the new api
2008-07-22T23:37:29  <dennda> Sounds like code duplication
2008-07-22T23:37:35  <xorAxAx> ?
2008-07-22T23:37:42  <xorAxAx> what would be duplicated?
2008-07-22T23:37:55  <xorAxAx> it doesnt make sense to adapt the code backend to this function's api
2008-07-22T23:38:06  <dennda> Depends on how many callers there are
2008-07-22T23:38:09  <xorAxAx> there is a mismatch in cohesion
2008-07-22T23:38:25  <xorAxAx> s/code backend/code calling the backend/
2008-07-22T23:38:37  <xorAxAx> i mean, it doesnt make sense to fill this function with code that calls the backend
2008-07-22T23:38:50  <dennda> Ok, and why is that?
2008-07-22T23:39:02  <dennda> If you got to do it more than once
2008-07-22T23:39:14  <xorAxAx> because the interface consists of a function name, and its parameters
2008-07-22T23:39:19  <xorAxAx> none of them make sense anymore
2008-07-22T23:39:32  <xorAxAx> and the task done by the function can be hopefully expressed in one line of code
2008-07-22T23:39:36  <xorAxAx> in the next context
2008-07-22T23:39:43  <xorAxAx> otherwise we have a boilerplate issue
2008-07-22T23:40:08  <dennda> Exactly, that's what I was thinking. Removing it may need more boilerplate code
2008-07-22T23:40:19  <xorAxAx> (of course there is some overhead of setting up the item instance if the old caller was using Page objects but that should be ignored for the above mentioned metric)
2008-07-22T23:40:22  <dennda> But let me check first before making statements based on non-knowing
2008-07-22T23:40:26  <xorAxAx> well, thats bad :)
2008-07-22T23:40:33  <xorAxAx> boilerplate code is bad design
2008-07-22T23:40:37  <dennda> I know
2008-07-22T23:40:39  <xorAxAx> but i think its not so bad :)
2008-07-22T23:40:43  <xorAxAx> just go ahead
2008-07-22T23:40:49  <dennda> Thus I was wondering why you suggested removing it.
2008-07-22T23:40:53  <dennda> But let me look at it first
2008-07-22T23:41:45  <dennda> Do you happen to know if it is called anywhere else than in PageEditor?
2008-07-22T23:42:01  <dennda> The leading underscore suggests that that is not the case, but I don't trust that too much
2008-07-22T23:42:12  <dennda> Anyway, grep will tell
2008-07-22T23:42:24  <dennda> EETOOMUCHCOFFEE
2008-07-22T23:43:41  <PawelPacana> patch < more_chocolate :)
2008-07-22T23:45:20  <dennda> stores_closed = True
2008-07-22T23:48:10  <dennda> Hm, PageEditor only uses it in saveText... Now let's look at that monster
2008-07-22T23:48:56  * xorAxAx throws grep at dennda 
2008-07-22T23:49:08  <dennda> 23:42 < dennda> Anyway, grep will tell
2008-07-22T23:49:15  <xorAxAx> ~ 5 times totally
2008-07-22T23:49:22  <dennda> too slow :)
2008-07-22T23:49:25  <dennda> 5 times what?
2008-07-22T23:49:29  <xorAxAx> called
2008-07-22T23:49:35  <dennda> huh?
2008-07-22T23:49:39  <xorAxAx> in moin
2008-07-22T23:49:49  <dennda> While processing one page-save?
2008-07-22T23:50:39  <xorAxAx> no, you asked for callers

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-07-22 (last edited 2008-07-21 22:45:02 by IrcLogImporter)