2006-06-04T00:00:02  <Kepplar> sorry?
2006-06-04T00:01:36  <Kepplar> oh im with you now
2006-06-04T00:02:19  <Kepplar> so each revision object will have a parser assigned to it?
2006-06-04T00:04:32  <Kepplar> ill have to give a think over how editing is accessed (how the methods will work on the interface for the item revision tree)
2006-06-04T00:05:19  <ThomasWaldmann> it has a mimetype it gets from metadata
2006-06-04T00:05:35  <ThomasWaldmann> and the parser is directly derived from mimetype
2006-06-04T00:05:44  <Kepplar> so theres a lookup table?
2006-06-04T00:06:04  <ThomasWaldmann> did you look into parser/ recently?
2006-06-04T00:06:19  <Kepplar> not really, i been skimming everything as thers so much depth
2006-06-04T00:06:43  <ThomasWaldmann> i renamed the file to correspond mimetypes
2006-06-04T00:07:34  <Kepplar> So when __getitem__ on the item needs to pull it from the storage implimentation / create the item revision object, IT itself has to pull the metadata out in order to work out what class to instantise?
2006-06-04T00:07:47  <Kepplar> or we have a seperate set of builder classes
2006-06-04T00:07:59  <Kepplar> renamed the file?
2006-06-04T00:08:48  <ThomasWaldmann> it can instantiate a generic proxy class
2006-06-04T00:09:03  <Kepplar> proxy to what?
2006-06-04T00:09:25  <ThomasWaldmann> proxy the real mimetype object
2006-06-04T00:09:46  <Kepplar> hmmm
2006-06-04T00:10:04  <ThomasWaldmann> it will have to open metadata for determining the real mimetype class
2006-06-04T00:10:26  <Kepplar> do we need it as a separate proxy class?
2006-06-04T00:10:46  <ThomasWaldmann> maybe this opening can be delayed until really needed
2006-06-04T00:11:24  <ThomasWaldmann> i guess so, except you have a better idea
2006-06-04T00:11:47  <Kepplar> ive lost you :)
2006-06-04T00:12:01  <ThomasWaldmann> ItemRev proxying TextWikiItemRev
2006-06-04T00:12:41  <ThomasWaldmann> a similar thing can be seen in 2.0 branch, too :)
2006-06-04T00:13:05  <Kepplar> ok, ill look into that now
2006-06-04T00:13:15  <Kepplar> tomorrow i want to finalise the interface specs to stay on schedule
2006-06-04T00:13:21  <Kepplar> and then i can begin the adapters
2006-06-04T00:13:34  <Kepplar> sound good?
2006-06-04T00:14:11  <ThomasWaldmann> if I see some code, I can tell you if it looks good :)
2006-06-04T00:19:27  <ThomasWaldmann> btw, item.name - not item.str_itemname
2006-06-04T00:21:14  <Kepplar> I had a word with a few people and they actually agree with me that its industry convensions for types to put in, if you really want it changed, then I'll refactor that right at the end, because it will hit my productivity. The alterative would be of course to have item.name as a reference to ther same field. Either way you'll have what you want in the end :)
2006-06-04T00:21:54  <ThomasWaldmann> i will not accept code like that, it is just awful
2006-06-04T00:22:16  <ThomasWaldmann> and it is NOT a str, btw, but unicode
2006-06-04T00:23:13  <ThomasWaldmann> and there is no reason to repeat the class name in the attribute name
2006-06-04T00:23:54  <Kepplar> a) str can be unicode
2006-06-04T00:24:18  <Kepplar> b) agreed, it should be name, i think i used it in the docs because it was inherited from the flat interface
2006-06-04T00:24:43  <ThomasWaldmann> what does "str can be unicode" mean exactly?
2006-06-04T00:25:00  <Kepplar> "and it is NOT a str, btw, but unicode
2006-06-04T00:25:02  <Kepplar> "
2006-06-04T00:25:20  <Kepplar> its still a string regardless of the encoding
2006-06-04T00:25:27  <ThomasWaldmann> no, it is not
2006-06-04T00:25:39  <ThomasWaldmann> a str is a different thing than a unicode object
2006-06-04T00:26:09  <ThomasWaldmann> (I am not talking about unicode encodings, but about unicode)
2006-06-04T00:26:22  <Kepplar> ok fair enough
2006-06-04T00:26:56  <ThomasWaldmann> think of it as 32bits per character if that helps :)
2006-06-04T00:27:13  <Kepplar> I wasnt thinking of it from a python object perspective :)
2006-06-04T00:27:15  <Kepplar> my bad
2006-06-04T00:27:53  <ThomasWaldmann> decode early, encode late
2006-06-04T00:28:08  <ThomasWaldmann> -> much less trouble
2006-06-04T00:29:48  <Kepplar> yep
2006-06-04T00:30:02  <Kepplar> encode and decode are outside the storage engines remit?
2006-06-04T00:30:16  <ThomasWaldmann> what is a "alphanumericitem"?
2006-06-04T00:31:28  <Kepplar> textitem
2006-06-04T00:31:41  <Kepplar> not sure on the most precise name at the moment
2006-06-04T00:31:45  <ThomasWaldmann> that has to be done on lowest level, where it leaves moin and accesses the db / filesystem / whatever
2006-06-04T00:31:46  <Kepplar> however you get the idea
2006-06-04T00:32:20  <ThomasWaldmann> use mimetype names, so there is a direct correlation
2006-06-04T00:32:34  <Kepplar> to be honest I've got very little experience with encoding/decoding and unicode malarkay
2006-06-04T00:32:44  <ThomasWaldmann> e.g. TextItemRev -> text/* mimetype
2006-06-04T00:32:55  <Kepplar> yea
2006-06-04T00:33:16  <Kepplar> oh you didnt answer my question before.. will there be a lookup table matching mimetype class to mimetype?
2006-06-04T00:34:06  <ThomasWaldmann> rather some if/elif
2006-06-04T00:35:14  <ThomasWaldmann> you can't handle text/wtf by lookup table
2006-06-04T00:35:35  <Kepplar> why not :)
2006-06-04T00:35:38  <Kepplar> use a dict
2006-06-04T00:35:54  <ThomasWaldmann> because you never thought of text/wtf before :)
2006-06-04T00:36:28  <Kepplar> but that would need to be coded
2006-06-04T00:36:48  <ThomasWaldmann> but you can do if self.meta['mimetype'].startswith('text/'): self.proxyto = TextItemRev(...)
2006-06-04T00:36:50  <Kepplar> where are you implying this if/elif should reside?
2006-06-04T00:37:07  <ThomasWaldmann> in the proxy object
2006-06-04T00:37:29  <Kepplar> and how would you get it to the next stage of refinement?
2006-06-04T00:38:11  <ThomasWaldmann> http://hg.thinkmo.de/moin/2.0?f=712bd2d4253c;file=MoinMoin/Item.py see class "Item"
2006-06-04T00:41:14  <ThomasWaldmann> does that answer last question?
2006-06-04T00:43:29  <ThomasWaldmann> (btw, feel free to reuse any code you like :)
2006-06-04T01:44:51  <ThomasWaldmann> Kepplar: btw, i asked people of #python.de what they think of names like str_itemname
2006-06-04T01:45:10  <ThomasWaldmann> response was rather negative...
2006-06-04T01:50:45  <ThomasWaldmann> one guy said something like "Jump in a lake!"
2006-06-04T02:28:32  <xorAxAx> a proxy might solve it :)
2006-06-04T02:28:42  <xorAxAx> class antiKepplar(object):
2006-06-04T02:39:01  <ThomasWaldmann> there would be no Kepplar left, just some energy
2006-06-04T12:31:28  <Kepplar> I would be really interested in seeing there reasoning. I'm talking about professional coders, not a group of enthusiats :)
2006-06-04T12:41:32  <mvirkkil> How do I get my docbook formatter to be served as application/docbook+xml ? The + sign is my current problem.
2006-06-04T12:42:35  <Kepplar> cant help with that sorry :)
2006-06-04T12:44:05  <xorAxAx> Kepplar: its mostly language dependent - i havent ever seen such names in python
2006-06-04T12:44:32  <Kepplar> its nothing to do with that
2006-06-04T12:44:36  <Kepplar> its standard programming practice
2006-06-04T12:44:36  <xorAxAx> mvirkkil: encode it using urlencoding?
2006-06-04T12:44:41  <xorAxAx> Kepplar: nope
2006-06-04T12:44:58  <Kepplar> it means any coder can go into a class and easily pick things up
2006-06-04T12:44:59  <mvirkkil> xorAxAx: I'll take a look at it later
2006-06-04T12:45:15  <Kepplar> instead of looking at obscure names, which you can't see what type it is
2006-06-04T12:45:33  <xorAxAx> hmm, i heard that bicycle repair man is maitained again. we could try it :)
2006-06-04T12:45:40  <xorAxAx> maintained even
2006-06-04T12:51:22  <Kepplar> ::np:: VNV Nation - Chrome
2006-06-04T12:51:49  <Kepplar> xorAxAx: btw, got a reply from my tutor, the director of our laboratory is happy for us to explore the possibility of a sprint
2006-06-04T12:51:56  <Kepplar> hes gonna contact me sometime next week to discuss to further
2006-06-04T12:53:20  <xorAxAx> nice
2006-06-04T13:06:22  <ThomasWaldmann> Kepplar: read pep8, that is what the professional python coders do
2006-06-04T13:07:31  <ThomasWaldmann> xorAxAx: b.r.m is integrated in eric3
2006-06-04T13:08:58  <Kepplar> ThomasWaldmann: i know pep8 :), my code is pep8 compliant
2006-06-04T13:09:33  <ThomasWaldmann> and apropos "professional". it means that things are being done for money. that doesnt necessarily mean that the are done in a great way. often they suck completely. :)
2006-06-04T13:10:32  <Kepplar> ThomasWaldmann: some would argue that is unprofessional code ;)
2006-06-04T13:19:07  <ThomasWaldmann> btw, did you do coding in the last 4 days?
2006-06-04T13:32:01  <Kepplar> Not really, this week is interface writing
2006-06-04T13:32:16  <Kepplar> I have done some refactoring on the item class and stuff
2006-06-04T13:32:30  <Kepplar> but its largely irrelevent as it doesnt actually need to started for 2-3 weeks
2006-06-04T13:35:59  <ThomasWaldmann> i just wondered because i didnt see any repo commit
2006-06-04T13:37:36  <Kepplar> I generally design before code - like to get it right first time :)
2006-06-04T14:01:14  <ThomasWaldmann> Fabi: fckeditor 2.3b broke some of the moin plugins you wrote, do you have time to look at this?
2006-06-04T14:23:45  <Fabi> what plugins?
2006-06-04T14:39:32  <ThomasWaldmann> about all moin* :)
2006-06-04T14:39:37  <ThomasWaldmann> Fabi:
2006-06-04T14:42:58  <ThomasWaldmann> if you have time to look at it, i can send you a hg bundle of that state "as is"
2006-06-04T14:43:12  <ThomasWaldmann> i didnt commit it to main yet, because it is broken
2006-06-04T14:43:24  <ThomasWaldmann> have to go now, bbl
2006-06-04T15:12:06  <Kepplar> hi
2006-06-04T15:36:14  <Kepplar> ThomasWaldmann: what does KW mean
2006-06-04T15:36:14  <Kepplar> ?
2006-06-04T15:37:17  <xorAxAx> calendar week, its a german acronym
2006-06-04T15:38:50  <Kepplar> def __init__(self, request, itemname, rev=0, **kw):
2006-06-04T15:41:57  <Kepplar> ThomasWaldmann: a perfect example of the naming thing I mentioned. What is request suppose to be? I shouldnt have to (nor will I) go through masses of code to find it out
2006-06-04T15:43:56  <xorAxAx> Kepplar: it is a request object
2006-06-04T15:44:22  <Kepplar> whats a request object?
2006-06-04T15:44:49  <xorAxAx> thats to be defined
2006-06-04T15:44:57  <Kepplar> eh?
2006-06-04T15:45:13  <xorAxAx> its an object where "request" in obj.__class__.lower()
2006-06-04T15:45:30  <Kepplar> sorry im not following
2006-06-04T15:45:50  <xorAxAx> hmm, `obj.__class__`.lower() even
2006-06-04T15:45:57  <xorAxAx> then pose a clear question
2006-06-04T15:46:20  <Kepplar> sorry i have no idea what you're talking about :)
2006-06-04T15:47:23  <xorAxAx> it was a general question, not related to naming conventions?
2006-06-04T15:48:06  <Kepplar> I was just asking what the hell request variable is in the 2.0 item.py constructor :)
2006-06-04T15:48:21  <xorAxAx> you talked about naming
2006-06-04T15:48:39  <xorAxAx> the request object contains the context of the current request issued by the user
2006-06-04T15:48:52  <xorAxAx> mainly it is used to know which wiki instance to use
2006-06-04T15:48:55  <Kepplar> i was saying this is a good example of how you cant work out what an object is without knowing the type
2006-06-04T15:48:59  <xorAxAx> or to fetch config vars
2006-06-04T15:49:11  <xorAxAx> but thats not related to naming, of course you need to know it
2006-06-04T15:49:22  <xorAxAx> besides that, you can easily answer that question by looking at the code
2006-06-04T15:49:29  <Kepplar> no
2006-06-04T15:49:31  <Kepplar> because thats what im doing
2006-06-04T15:49:39  <xorAxAx> even the servlet interface has an HTTPRequest
2006-06-04T15:49:50  <Kepplar> i know what a request is generally
2006-06-04T15:49:55  <Kepplar> but i have no idea what object its passed
2006-06-04T15:49:57  <Kepplar> what class is passed
2006-06-04T15:50:01  <Kepplar> what the context of it is
2006-06-04T15:50:16  <xorAxAx> there isnt any class that is passed
2006-06-04T15:50:22  <xorAxAx> its a request object
2006-06-04T15:50:44  <xorAxAx> and an object obj is an request object, if and just if,  "request" in `obj.__class__`.lower()
2006-06-04T15:50:45  <Kepplar> exactly, what request object
2006-06-04T15:50:59  <Kepplar> is^
2006-06-04T15:51:02  <Kepplar> a^
2006-06-04T15:51:18  <xorAxAx> thats a pretty formal and pythonic definition
2006-06-04T15:51:51  <Kepplar> Python isnt my strongest language
2006-06-04T15:52:21  <Kepplar> i have no idea what you mean by
2006-06-04T15:52:21  <Kepplar> nd an object obj is an request object, if and just if, "request" in `obj.__class__`.lower()
2006-06-04T15:52:34  <xorAxAx> it is python code
2006-06-04T15:52:54  <Kepplar> i can't follow your explanation
2006-06-04T15:53:54  <xorAxAx> which of it dont you understand?
2006-06-04T15:54:03  <Kepplar> a) what is obj.__class__`.lower()
2006-06-04T15:54:14  <Kepplar> b) the writing prior to it doesnt actually make sense
2006-06-04T15:54:18  <xorAxAx> it will give you a syntaxerror
2006-06-04T15:54:32  <xorAxAx> assume you have an object called obj
2006-06-04T15:54:39  <Kepplar> any object?
2006-06-04T15:54:42  <xorAxAx> now you want to know if it is a request object
2006-06-04T15:54:43  <xorAxAx> yes
2006-06-04T15:54:55  <Kepplar> whats a request object?
2006-06-04T15:54:55  <xorAxAx> i think that was your question, wasnt it?
2006-06-04T15:55:17  <xorAxAx> Kepplar: thats defined by the above sentence
2006-06-04T15:55:59  <Kepplar> so request is an interface (i know the answer is going to be no, but thats the point - it doesnt make any formal sense)
2006-06-04T15:56:26  <xorAxAx> no, request is the name of the class of the object
2006-06-04T15:56:34  <xorAxAx> (thats the english version of the above code)
2006-06-04T15:57:06  <Kepplar> right, thats what i was trying to get at, if you said request was a class then i would have understood :)
2006-06-04T15:57:26  <Kepplar> what module is it from?
2006-06-04T15:57:42  <xorAxAx> from the request package :)
2006-06-04T15:57:55  <Kepplar> that moin specific?
2006-06-04T15:58:25  <xorAxAx> nope
2006-06-04T15:58:35  <xorAxAx> every webapp has something called like request
2006-06-04T15:58:41  <xorAxAx> even a servlet :)
2006-06-04T15:58:45  <xorAxAx> in java
2006-06-04T15:58:53  <xorAxAx> the request package itself is, though
2006-06-04T15:59:39  <Kepplar> i realise that, i just didnt know it was called that, the varable naming or documentation gave no hint that the object is of that class :)
2006-06-04T16:00:00  <Kepplar> plus I know of half a dozen 3rd party modules with a request class
2006-06-04T16:00:35  <xorAxAx> you would have known by reading the code
2006-06-04T16:00:44  <Kepplar> I did read the code and I didnt know
2006-06-04T16:00:44  <xorAxAx> hi moin fan birkenfeld :)
2006-06-04T16:00:49  <birkenfeld> hi xorAxAx
2006-06-04T16:00:58  <Kepplar> and I can't find any reference to any generic request package on google for python
2006-06-04T16:08:30  <Kepplar>  23import StringIO, os, re, urllib, random, marshal, time
2006-06-04T16:08:30  <Kepplar> 24
2006-06-04T16:08:30  <Kepplar> 25from MoinMoin import config, user, util, storage, wikiutil
2006-06-04T16:08:31  <Kepplar> 26from MoinMoin.util import web, MoinMoinNoFooter, pysupport
2006-06-04T16:08:54  <Kepplar> whats the generic request package called then?
2006-06-04T16:09:17  <xorAxAx> generic?
2006-06-04T16:11:21  <Kepplar> 14:57 < Kepplar> that moin specific?
2006-06-04T16:11:21  <Kepplar> 14:58 < xorAxAx> nope
2006-06-04T16:14:03  <xorAxAx> i meant the concept
2006-06-04T16:14:09  <Kepplar> og
2006-06-04T16:14:11  <Kepplar> oh
2006-06-04T16:14:20  <Kepplar> sorry, i wasnt talking about the concept at all
2006-06-04T16:14:27  <Kepplar> i was talking about what request was in the actual code
2006-06-04T16:14:35  <xorAxAx> see the lines i wrote below nope
2006-06-04T16:15:12  <Kepplar> that makes sense now :)
2006-06-04T16:15:42  <Kepplar> but knowing around abouts what it is in concept isnt sufficiant documentation for a section of code
2006-06-04T16:28:57  <birkenfeld> Kepplar: you're the SOC student?
2006-06-04T16:29:45  <Kepplar> yep
2006-06-04T16:29:58  <birkenfeld> then I wish you happy hacking...
2006-06-04T16:30:03  <Kepplar> cheers
2006-06-04T16:31:35  <xorAxAx> birkenfeld: he is one of them :)
2006-06-04T16:31:46  <xorAxAx> s/them/us/ :)
2006-06-04T16:32:59  <birkenfeld> You are the Moin. Resistance is futile.
2006-06-04T16:34:25  <xorAxAx> hehe
2006-06-04T16:40:05  <Kepplar> hmmmmmmmmmmm
2006-06-04T16:40:22  <Kepplar> trying to work out how to handle data and metadata accessing and changing
2006-06-04T16:40:35  <Kepplar> data and metadata would be tied in as properties
2006-06-04T16:40:44  <Kepplar> which see if its in the object, and if not gets to from the stroage engine
2006-06-04T16:40:45  <Kepplar> however
2006-06-04T16:41:00  <Kepplar> i need to seperate the raw and cached version of the data
2006-06-04T17:07:33  <Kepplar> hmm
2006-06-04T17:07:37  <Kepplar> how to handle attachments hmm
2006-06-04T17:29:07  <mgilbert> Hi all, I've added put up two attachments I was hoping to get some feedback on. Ultimately, I'd really like to see them included in the mainline.
2006-06-04T17:29:10  <mgilbert> http://moinmoin.wikiwikiweb.de/MoinMoinPatch/XmlRpcAttachmentSupport
2006-06-04T17:29:13  <mgilbert> http://moinmoin.wikiwikiweb.de/MoinMoinPatch/StandaloneServerTLSLiteSupport
2006-06-04T17:29:48  <mgilbert> Anyone have any suggestions?
2006-06-04T17:31:02  <xorAxAx> hi mgilbert
2006-06-04T17:31:14  <xorAxAx> mgilbert: have you seen the newest docutils incompability? :)
2006-06-04T17:31:25  <mgilbert> no...
2006-06-04T17:31:34  <mgilbert> Is there a bug page?
2006-06-04T17:32:00  <xorAxAx> yes
2006-06-04T17:32:09  <xorAxAx> http://moinmoin.wikiwikiweb.de/MoinMoinBugs/ReStructuredTextMoinWriterHasNohead_prefix
2006-06-04T17:32:17  <xorAxAx> mgilbert: the xmlrpc patch has a security hole
2006-06-04T17:32:25  <xorAxAx> it doesnt check for write access on putattachment
2006-06-04T17:32:39  <mgilbert> ah, yup, thanks. I'll add that.
2006-06-04T17:33:43  <mgilbert> xorAxAx: I'm pretty sure that the docutils bug is fixed by the patch I sent a little while ago.
2006-06-04T17:34:13  <xorAxAx> mgilbert: then close the bug page accordingly :)
2006-06-04T17:34:20  <mgilbert> :-) will do
2006-06-04T17:34:29  <xorAxAx> hmm, did we have a release with that bug fix?
2006-06-04T17:34:36  <xorAxAx> i dont remember when you sent it to me
2006-06-04T17:34:37  <mgilbert> no yet, it's post 1.5.3
2006-06-04T17:34:46  <mgilbert> s/no/not
2006-06-04T17:34:52  <xorAxAx> oh, ok
2006-06-04T17:41:51  <Kepplar> where does single wiki config go?
2006-06-04T17:42:18  <mgilbert> xorAxAx: Yup, I re-confirmed, the patch I sent fixes that bug. I'll update the bug page.
2006-06-04T17:47:32  <xorAxAx> nice
2006-06-04T17:48:32  <ThomasWaldmann> Kepplar: be very cautious with caching, we have multi-threaded and multi-process servers
2006-06-04T17:49:15  <ThomasWaldmann> thus, files will change behind your back
2006-06-04T17:50:49  <Kepplar> yea, ive never done anything in python where i need to take this sort of stuff into consideration, so i think i will be needing some guidence on it
2006-06-04T17:51:21  <ThomasWaldmann> maybe first design with cache in mind, but not in code
2006-06-04T17:51:30  <Kepplar> ok
2006-06-04T17:52:24  <mgilbert> xorAxAx: Ok, fixed security hole in putAttachment, thanks. Any chance of this being incorporated into mainline?
2006-06-04T17:54:11  <xorAxAx> mgilbert: next bug, the filemode needs to be r+b or something like that
2006-06-04T17:54:17  <xorAxAx> otherwise it wont work on MVS or windows ;-)
2006-06-04T17:54:24  <xorAxAx> oops, w+b i mean
2006-06-04T17:54:53  <mgilbert> oops, yup, thanks
2006-06-04T17:55:10  <xorAxAx> and rb
2006-06-04T17:56:22  <xorAxAx> next, the config object doesnt have an umask attribute
2006-06-04T17:56:28  <xorAxAx> you seem to mean the config module
2006-06-04T17:56:59  <mgilbert> yup, thanks
2006-06-04T17:57:58  <xorAxAx> ThomasWaldmann: whats your plan about merging the branches in the mean time?
2006-06-04T17:58:16  <xorAxAx> i dont think that having branches with 3 months of parallel dev is good
2006-06-04T17:58:19  <Kepplar> oh crap
2006-06-04T17:58:24  <Kepplar> i just hd added the entire directory
2006-06-04T17:58:26  <xorAxAx> can i merge against main when i want to?
2006-06-04T17:58:29  <Kepplar> and napped all the test wiki stuff
2006-06-04T17:58:31  <Kepplar> !
2006-06-04T17:58:37  <Kepplar> gh
2006-06-04T17:58:38  <Kepplar> hg
2006-06-04T17:58:40  <Kepplar> even
2006-06-04T17:58:51  <Kepplar> reclone time!
2006-06-04T17:58:51  <xorAxAx> hg status and hg diff are very useful, Kepplar
2006-06-04T17:59:41  <Kepplar> they just seem to spout usless information
2006-06-04T17:59:54  <xorAxAx> Kepplar: ?
2006-06-04T18:00:16  <Kepplar> hg diff just spouts a ridicious amount of code
2006-06-04T18:00:24  <Kepplar> and hg status just lists all the pages
2006-06-04T18:00:24  <xorAxAx> LOL
2006-06-04T18:00:35  <xorAxAx> ah, you didnt commit yet?
2006-06-04T18:00:42  <Kepplar> as i said about 2 minutes ago
2006-06-04T18:00:47  <Kepplar> i just added the testwiki accidently
2006-06-04T18:00:49  <Kepplar> i need to remove it
2006-06-04T18:00:52  <xorAxAx> did you commit?
2006-06-04T18:00:54  <Kepplar> no
2006-06-04T18:01:13  <xorAxAx> then simply backup your changes and use hg revert
2006-06-04T18:01:23  <Kepplar> ah :)
2006-06-04T18:01:28  <Kepplar> i didnt realise there was a hg revert
2006-06-04T18:02:45  <Kepplar> thanks
2006-06-04T18:12:52  <mgilbert> xorAxAx: Thanks for all the bugs. All fixed. Hopefully there shouldn't be any more.
2006-06-04T18:15:22  <mgilbert> Let me know if there is anything else I should change, I'm willing to work to get it accepted (very useful rpc imo).
2006-06-04T18:21:33  <xorAxAx> ok, now i would just like an hg export file :)
2006-06-04T18:21:37  <xorAxAx> if you have hg installed
2006-06-04T18:21:58  <xorAxAx> because that automatically lets your name appear in the changelog :)
2006-06-04T18:23:16  <xorAxAx> see http://moinmoin.wikiwikiweb.de/MoinDev/MercurialGuide
2006-06-04T18:31:40  <xorAxAx> mgilbert: the tls patch doesnt look like its automatically using those new classes
2006-06-04T18:36:50  <Kepplar> changes on the repo for anyone interested
2006-06-04T18:40:03  <xorAxAx> Kepplar: can you please set your name like explained on the page http://moinmoin.wikiwikiweb.de/MoinDev/MercurialGuide ?
2006-06-04T18:41:36  <xorAxAx> se.py contains getters/setters
2006-06-04T18:41:46  <xorAxAx> it is strongly advised not to use them in python code
2006-06-04T18:42:17  <Kepplar> where?
2006-06-04T18:42:48  <mgilbert> xorAxAx: Ok, I'll get you a mercurial patch.
2006-06-04T18:43:06  <xorAxAx> Kepplar: i am seeing def get_* all over the place
2006-06-04T18:43:10  <xorAxAx> mgilbert: nice :)
2006-06-04T18:43:16  <mgilbert> which new tls classes are you talking about?
2006-06-04T18:43:41  <Kepplar> oh those arent strict gets
2006-06-04T18:43:53  <Kepplar> they are just proxy methods that get implemented
2006-06-04T18:44:03  <Kepplar> to actually save and load from the storage mechanism
2006-06-04T18:44:13  <Kepplar> the object doesnt store anything at all
2006-06-04T18:44:16  <xorAxAx> Kepplar: so they are delegate methods?
2006-06-04T18:44:24  <xorAxAx> Kepplar: even then, they are unnessary
2006-06-04T18:44:28  <Kepplar> not really, they dont delegate to other classes
2006-06-04T18:44:32  <Kepplar> they just get implemented
2006-06-04T18:44:40  <Kepplar> for example on flatfile
2006-06-04T18:44:43  <Kepplar> get would open a file
2006-06-04T18:44:53  <xorAxAx> they are still getters/setters
2006-06-04T18:44:54  <Kepplar> or a select query for a db based implementation
2006-06-04T18:44:58  <xorAxAx> in python, you use properties
2006-06-04T18:45:06  <xorAxAx> help(property)
2006-06-04T18:45:12  <Kepplar> hmmm
2006-06-04T18:45:17  <Kepplar> dubious
2006-06-04T18:45:23  <Kepplar> although I can see your point
2006-06-04T18:45:31  <xorAxAx> mgilbert: e.g.  SecureThreadPoolServer(
2006-06-04T18:45:53  <mgilbert> It works for me... Sorry, not quite following what you mean.
2006-06-04T18:46:05  <mgilbert> gotta have tlslite installed of course
2006-06-04T18:46:11  <xorAxAx> mgilbert: i mean, you add new classes to the file. where are they instantiated?
2006-06-04T18:47:01  <xorAxAx> i.e. the patch looks incomplete
2006-06-04T18:47:14  <mgilbert> Oh, sorry. It's instantiated just like the rest, you have to say
2006-06-04T18:47:14  <mgilbert> serverClass = SecureThreadPoolServer in moin.py
2006-06-04T18:47:24  <mgilbert> So, no, nothing should be missing.
2006-06-04T18:48:21  <xorAxAx> ah
2006-06-04T18:48:59  <xorAxAx> ok, can you add documentation to moinmaster?
2006-06-04T18:49:05  <xorAxAx> for the tls patch
2006-06-04T18:49:13  <xorAxAx> it fits onto the helponinstalling/...standalone... page
2006-06-04T18:49:46  <mgilbert> xorAxAx: Absolutely! Sorry, gotta run. I'll send mercurial patches later tonight along with doc updates. Thanks again!
2006-06-04T19:26:15  <ThomasWaldmann> Kepplar: item.__getitem__ and fetch_revision - what is the difference?
2006-06-04T19:27:23  <ThomasWaldmann> who will use fetch_all_revisions?
2006-06-04T19:27:49  <Kepplar> anyone whos trying to generate a revision page for a item
2006-06-04T19:27:49  <Kepplar> :)
2006-06-04T19:28:10  <Kepplar> getitem doesnt always called fetch revision
2006-06-04T19:28:17  <Kepplar> only if it is needed to get it from the storage engine
2006-06-04T19:29:16  <ThomasWaldmann> so fetch_revision is internal use?
2006-06-04T19:30:43  <Kepplar> yep
2006-06-04T19:31:33  <ThomasWaldmann> _fetch_revision
2006-06-04T19:31:43  <Kepplar> ok
2006-06-04T19:32:26  <ThomasWaldmann> destroy removes a complete item with every revision?
2006-06-04T19:35:16  <Kepplar> yep
2006-06-04T19:35:17  <Kepplar> well
2006-06-04T19:35:20  <Kepplar> destroy on item does
2006-06-04T19:35:27  <Kepplar> destroy on itemrev class destroys the rev
2006-06-04T19:36:12  <ThomasWaldmann> until now, moin does not ever do item.destroy
2006-06-04T19:36:23  <ThomasWaldmann> nor it does itemrev.destroy
2006-06-04T19:36:30  <Kepplar> how do you kill off a page?
2006-06-04T19:36:34  <Kepplar> or a rev?
2006-06-04T19:36:50  <ThomasWaldmann> you create an new empty current rev
2006-06-04T19:37:13  <Kepplar> but whats all that DELETE stuff I see in recent changes?
2006-06-04T19:37:27  <ThomasWaldmann> exactly that
2006-06-04T19:37:35  <Kepplar> oh
2006-06-04T19:37:53  <Kepplar> well do we want destroy, or at least have it in the interface specifications for later implementation?
2006-06-04T19:38:00  <ThomasWaldmann> (except if it is an attachment, that is really gone - but this should change when attachments become items)
2006-06-04T19:38:19  <ThomasWaldmann> you dont need to implement stuff never used
2006-06-04T19:38:28  <ThomasWaldmann> if we ever need it, we will add it
2006-06-04T19:38:44  <Kepplar> well technically then there is a destroy
2006-06-04T19:38:55  <Kepplar> just that for attachment mimetypes it does one thing
2006-06-04T19:38:58  <Kepplar> and in pages it does another
2006-06-04T19:39:06  <Kepplar> and in users it does another as it suspends acl
2006-06-04T19:39:06  <Kepplar> ?
2006-06-04T19:39:29  <ThomasWaldmann> delete = save an empty thing
2006-06-04T19:41:50  <ThomasWaldmann> itm_parent_item - isnt that better in item (not itemrev)
2006-06-04T19:42:53  <Kepplar> nah
2006-06-04T19:43:00  <Kepplar> parent item is just a reference to the item from the revision
2006-06-04T19:43:11  <Kepplar> i thought having a reference there would reduce operations trying to find it
2006-06-04T19:43:17  <Kepplar> thus making the process less expensive
2006-06-04T19:43:31  <Kepplar> what do you think?
2006-06-04T19:43:47  <ThomasWaldmann> so it is the item (not the parent_item)
2006-06-04T19:44:19  <Kepplar> well ok
2006-06-04T19:44:53  <ThomasWaldmann> what's dct_changes?
2006-06-04T19:46:03  <Kepplar> hmm
2006-06-04T19:46:04  <Kepplar> well
2006-06-04T19:46:17  <Kepplar> since we dont want every changes being done on the fly to the storage engine
2006-06-04T19:46:22  <Kepplar> it stores what changes in this dict
2006-06-04T19:46:24  <Kepplar> and on commit
2006-06-04T19:46:27  <Kepplar> sends them all in batch
2006-06-04T19:46:32  <Kepplar> for a particular revision
2006-06-04T19:46:34  <Kepplar> to the storage engine
2006-06-04T19:46:45  <Kepplar> again to reduce how expensive operations are
2006-06-04T19:46:51  <Kepplar> and so that not everything is pushed back
2006-06-04T19:47:07  <Kepplar> could be a list
2006-06-04T19:47:09  <Kepplar> or a dict
2006-06-04T19:47:10  <Kepplar> im not sure
2006-06-04T19:47:15  <Kepplar> at the moment its just there for concept
2006-06-04T19:48:39  <ThomasWaldmann> ok
2006-06-04T19:48:50  <ThomasWaldmann> so this is also _*
2006-06-04T19:49:04  <Kepplar> well im not sure
2006-06-04T19:49:11  <Kepplar> depends how logger is implemented
2006-06-04T19:49:36  <ThomasWaldmann> str_output_data?
2006-06-04T19:49:38  <Kepplar> as it would be good for debug and testing to have the ability to log if we wanted changes that never went through
2006-06-04T19:49:47  <Kepplar> basically processed and preprocessed text
2006-06-04T19:50:06  <Kepplar> so an item revision can keep wikicode and say html generated stuff
2006-06-04T19:53:40  <ThomasWaldmann> keeping html usually makes no sense
2006-06-04T19:53:57  <ThomasWaldmann> you need to do it similar to how it is done now
2006-06-04T19:54:51  <ThomasWaldmann> it stores precompiled code on disk. some stuff is static request.write(data) stuff, some stuff is still dynamic formatter calls in that code
2006-06-04T19:58:18  <ThomasWaldmann> xorAxAx: every student should merge main into his branch as often as necessary
2006-06-04T19:58:35  <xorAxAx> ThomasWaldmann: ok
2006-06-04T19:59:22  <ThomasWaldmann> and I guess I will merge the student stuff back into main afterwards (and if it has reached some reasonable state)
2006-06-04T20:00:44  <Kepplar> hmm?
2006-06-04T20:00:51  <Kepplar> its not taking it away from disk storage
2006-06-04T20:01:09  <Kepplar> it means the item revision can pull off the disk precompiled
2006-06-04T20:01:27  <Kepplar> and store compiled versions as as short term cache so that the parser isnt used multiple times
2006-06-04T20:02:07  <ThomasWaldmann> we only do that for current rev, btw
2006-06-04T20:02:42  <Kepplar> oh it doesnt store it unless its specficailly pulled out
2006-06-04T20:02:47  <Kepplar> and passed
2006-06-04T20:02:54  <Kepplar> parsed*
2006-06-04T20:02:55  <ThomasWaldmann> but maybe leave optimizations for later
2006-06-04T20:03:03  <Kepplar> ok
2006-06-04T20:05:20  <ThomasWaldmann> {binary,text}item should not be under a thing called "page"
2006-06-04T20:06:10  <ThomasWaldmann> and if they use a single itemrev, they should be called *rev, too
2006-06-04T20:07:12  <Kepplar> what do you mean by that (second line)
2006-06-04T20:08:32  <ThomasWaldmann> if it is a revision, call it a revision
2006-06-04T20:08:44  <ThomasWaldmann> or there will be confusion :)
2006-06-04T20:08:49  <ThomasWaldmann> (like now :))
2006-06-04T23:01:20  * xorAxAx merged main into sync
2006-06-04T23:48:14  * xorAxAx discovered the source for the conflict message confusion and fixed it

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