2008-08-08T00:00:05  <dennda> in which case you want to return AccessControlList(self.request.cfg)
2008-08-08T00:00:38  <byeongweon> xorAxAx: ok. I'll leave that bug to the future
2008-08-08T00:00:52  <dreimark> byeongweon: I do recheck currently the bug reports. sometimes there is another bug quite close to the fixed one, which may not be obviously before.
2008-08-08T00:01:12  <dreimark> I do came to them by just playing with the old bug and your changes
2008-08-08T00:01:33  <ThomasWaldmann> dennda: i think i also had it for other cases
2008-08-08T00:01:50  <byeongweon> dreimark: thanks :) please report that kind of things.
2008-08-08T00:02:32  <dennda> ThomasWaldmann: until we encounter them again, could you revert that change?
2008-08-08T00:02:39  <xorAxAx> byeongweon: the idea is that {{{foo doesnt have any semantic meaning
2008-08-08T00:02:51  <xorAxAx> and you introduced worse regressions and this isnt a regression at all
2008-08-08T00:06:34  <ThomasWaldmann> dennda: I'll try. there where multiple bugs in ACLs, maybe this was not one.
2008-08-08T00:06:54  <dennda> ThomasWaldmann: I just reverted it locally.  Shall I just push it?
2008-08-08T00:07:02  <byeongweon> xorAxAx: than you recommend fix regressions first?
2008-08-08T00:07:04  <dennda> (that makes it work at again at least)
2008-08-08T00:07:08  <ThomasWaldmann> But my impression was that self._item is not initialized except when you use Page.from_item()
2008-08-08T00:07:21  <byeongweon> s/than/then
2008-08-08T00:07:27  <dennda> ThomasWaldmann: oh, no, you are mistaken
2008-08-08T00:07:31  <ThomasWaldmann> did you carefully fix the reject?
2008-08-08T00:07:57  <dennda> ThomasWaldmann: That method only exists to make further refactorings possible easier
2008-08-08T00:08:11  <dennda> where I needed page-functionality on item objects
2008-08-08T00:08:14  <dennda> that is a wrapper method
2008-08-08T00:09:05  <dennda> ThomasWaldmann: was that reject-related question for me?
2008-08-08T00:09:15  <ThomasWaldmann> dennda: i don't think we should revert the changeset, there were also other problems
2008-08-08T00:09:34  <dennda> ThomasWaldmann: imho that changeset makes it worse
2008-08-08T00:09:40  <ThomasWaldmann> give me a few minutes and look at some other bugs meanwhile
2008-08-08T00:09:45  <dennda> sure
2008-08-08T00:12:51  <xorAxAx> byeongweon: yes, regressions are most important
2008-08-08T00:13:06  <xorAxAx> byeongweon: because they make your work worse than before
2008-08-08T00:13:34  <byeongweon> xorAxAx: ok. I just start fixing one of regression.
2008-08-08T00:13:57  <xorAxAx> good night
2008-08-08T00:14:19  <byeongweon> and where I put status of current doing?
2008-08-08T00:14:37  <xorAxAx> byeongweon: onto one of your wiki pages :)
2008-08-08T00:14:40  <xorAxAx> where it fits
2008-08-08T00:14:47  <byeongweon> ok
2008-08-08T00:14:59  <xorAxAx> (e.g. the week5 one :))
2008-08-08T00:20:44  * dreimark apologizes for probably not right sorting in the new bugs.  (if I did some mistakes please reorder it)
2008-08-08T00:34:44  <dreimark> byeongweon: what hidden sign does the fck editor use for shift+enter and can we convert the <<BR>> macro call to this sign?
2008-08-08T00:36:29  <byeongweon> dreimark: what is meaning of hidden sign?
2008-08-08T00:43:27  <dreimark> byeongweon: if you edit in the gui and press shift+enter you get a new line which will be saved by using the <<BR>> macro
2008-08-08T00:44:02  <dreimark> but in the gui itself there is no <<BR>> at this time
2008-08-08T00:45:13  <byeongweon> then I recommend when user use shift+enter editor insert BR macro instant?
2008-08-08T00:45:25  <byeongweon> s/I/you
2008-08-08T00:46:21  <dreimark> the converter does insert it, but the editor knows it without that macro
2008-08-08T00:47:07  <dreimark> in ms office there is a pi icon which shows all the hidden signs used in the text
2008-08-08T00:47:21  <dreimark> e.g tab is shown as  arrow
2008-08-08T00:47:37  <dreimark> but in the normal usecase the user doesn't see all this special signs
2008-08-08T00:50:36  <byeongweon> for do that job, we should process br macro specific way.
2008-08-08T00:55:20  * byeongweon going home for while, to have a breakfast
2008-08-08T00:58:34  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4655:28582df7bf41 1.8-storage-cdenter/MoinMoin/storage/backends/memory.py: storage: MemoryBackend: Fix bug that prevented the last two tests from passing.
2008-08-08T01:08:22  <dreimark> good night
2008-08-08T01:12:05  <PawelPacana> re
2008-08-08T01:43:37  <dennda> PawelPacana: You may want to merge my repo, I fixed the pep8 problems in your hg backend
2008-08-08T01:45:56  <PawelPacana> cool
2008-08-08T01:46:07  <dennda> PawelPacana: What editor do you use?
2008-08-08T01:46:09  <PawelPacana> i did it already, but havent pushed
2008-08-08T01:46:26  <PawelPacana> this trailing spaces come since i use pydev
2008-08-08T01:46:34  <dennda> yes
2008-08-08T01:46:48  <PawelPacana> btw
2008-08-08T01:46:48  <dennda> my python vim-plugin helps not to do it
2008-08-08T01:47:00  <dennda> it was just :%s/\s*$// though
2008-08-08T01:47:13  <PawelPacana> you could use just sed
2008-08-08T01:47:40  <PawelPacana> sed -i *.py -e 's/\s*$//g'
2008-08-08T01:47:46  <PawelPacana> would do the same job
2008-08-08T01:48:02  <dennda> ah ok, I am not that familiar with sed
2008-08-08T01:48:33  <PawelPacana> after merge i get AssertionError even on fresh backend
2008-08-08T01:48:46  <dennda> yeah
2008-08-08T01:48:53  <dennda> that's due to one of ThomasWaldmann's changesets
2008-08-08T01:49:02  <dennda> PawelPacana: wait a sec
2008-08-08T01:50:36  <dennda> PawelPacana: If you need it to work now, just change MoinMoin.Page.getACL to look like this for now: http://paste.pocoo.org/show/81560/
2008-08-08T01:51:13  <PawelPacana> thanks
2008-08-08T01:54:18  <PawelPacana> i didnt pay much attention, but is edit_log_time deprecated?
2008-08-08T01:54:27  <PawelPacana> s/time/mtime/
2008-08-08T01:54:47  <PawelPacana> because of the timestamp?
2008-08-08T01:54:54  <dennda> yes
2008-08-08T01:55:15  <dennda> the backend now makes sure the timestamp is stored
2008-08-08T01:55:23  <dennda> take a look at how the other two backends do it
2008-08-08T01:55:34  <dennda> the same applies for revision.size
2008-08-08T01:56:05  <PawelPacana> what was the previous metadata key for what is now revision.size?
2008-08-08T01:56:29  <dennda> SIZE = "size"
2008-08-08T01:56:37  <dennda> via storage/__init__.py
2008-08-08T03:11:36  <PawelPacana> dennda: if edit_log_mtime is deprecated, remove it from info action then
2008-08-08T03:12:38  <CIA-53> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 4656:7f0888ad66d5 1.8-storage-cdenter/MoinMoin/Page.py:
2008-08-08T03:12:38  <CIA-53> Fixing Page.getACL, two things are important:
2008-08-08T03:12:38  <CIA-53> 1. AccessControlList() gets a LIST as second parameter
2008-08-08T03:12:38  <CIA-53> 2. Don't catch exceptions you do not want to catch - that KeyError handler
2008-08-08T03:12:38  <CIA-53> handled KeyErrors in the storage backend also - and has hidden them.
2008-08-08T03:12:40  <CIA-53> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 4657:ba6e13533283 1.8-storage-cdenter/MoinMoin/storage/backends/memory.py: merged storage repo
2008-08-08T03:18:02  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4641:ec67ec7e479b 1.8-mercurialbackend-ppacana/MoinMoin/ (12 files in 7 dirs): Merge with 1.8-storage-cdenter.
2008-08-08T03:18:02  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4642:b912618a038e 1.8-mercurialbackend-ppacana/MoinMoin/script/ (__init__.py migration/backend.py): (migration) First attempts to migrate backends.
2008-08-08T03:18:09  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4658:6d960907f3ba 1.8-mercurialbackend-ppacana/MoinMoin/ (24 files in 10 dirs): Merge with 1.8-storage-cdenter.
2008-08-08T03:18:10  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4659:089af256a33a 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: (migration) Added 'source' option, wrong options handling. EDIT_LOG_MTIME to __timestamp.
2008-08-08T03:31:55  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4660:ad2daa90e919 1.8-mercurialbackend-ppacana/MoinMoin/action/info.py: (info action) revision.timestamp instead of deprecated meta key.
2008-08-08T03:31:56  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4661:8acdcf63e15a 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: PEP8. Another one post-pydev fix....
2008-08-08T04:49:38  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3982:5fbdb471fb42 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/moinFCKplugins/moinlink/fck_link.js: fix relative link change bug MoinMoinBugs/GUIEditorConvertsRelativeLinkstoAbsoluteAfterChangingAnExistingLink and make link text change when link address is change
2008-08-08T04:49:38  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3983:2fabb1410e10 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/moinFCKplugins/moinlink/fck_link.js: make edit sibling link(../SomeThing) with gui editor
2008-08-08T04:51:02  * byeongweon leave for a while.
2008-08-08T08:36:00  <ThomasWaldmann>   moin
2008-08-08T09:07:35  <ThomasWaldmann> waldi: why .authority, wouldn't .server or .hostname or .site be the usual thing for this?
2008-08-08T09:22:36  <dreimark> moin
2008-08-08T10:34:40  * dreimark thinks we should integrate the save, preview ... button into the gui editor tools
2008-08-08T10:39:09  <TheSheep> dreimark: why do you need preview in wysiwyg editor?
2008-08-08T10:39:32  <TheSheep> dreimark: I often catch myself looking for the save button when it's hidden in the editor tools
2008-08-08T10:42:40  <dreimark> we don't need preview if it all works. currently only with the preview you get everything rendered
2008-08-08T10:43:31  <dreimark> every macro and every parser. In long term we need a way to render them in the gui editor and a way to alter them by  gui method
2008-08-08T10:44:17  <dreimark> TheSheep:
2008-08-08T10:45:47  <dreimark> e.g. <<Hits>> could be rendered directly and similiar to the link icon there must be one which can be used to adjust the parameters
2008-08-08T10:55:58  <TheSheep> I guess you can only do that if you assure that macros have no side effects
2008-08-08T10:56:44  <TheSheep> then you can use some ajax technique for rendering them, and maybe updating once in a while (the TOC macro would need updating every time you change some heading, for example)
2008-08-08T10:57:06  <TheSheep> personally I think this is the way to madness
2008-08-08T10:58:31  <dreimark> TheSheep: yeah, I have another question about sidebar and the personal links.  This sidebar feature of Gugiel, can that be extended to show my pagelinks? separated somehow, so that one has the "global links" + the own links. And ist this an option for modernized also?
2008-08-08T11:00:30  <xorAxAx> TheSheep: which macro or parser has sideeffects? :)
2008-08-08T11:00:33  <TheSheep> dreimark: sidebar is a normal page, so if you have some macro that displays personal links, you can put it there
2008-08-08T11:00:57  <TheSheep> xorAxAx: some of my hacks for online exam tests, for example
2008-08-08T11:01:21  <xorAxAx> TheSheep: hmm, when being rendered, they mutate data?
2008-08-08T11:01:40  <xorAxAx> well, you could flag macros as being safe to render inline
2008-08-08T11:01:52  <TheSheep> dreimark: I even patched the TOC macro some time ago, to look at the page title from request, not from page on which it is included -- this way you couldp ut TOC in sidebar
2008-08-08T11:02:10  <TheSheep> xorAxAx: well, it was a very bad idea anyways
2008-08-08T11:02:32  <TheSheep> *pu
2008-08-08T11:02:35  <TheSheep> *put
2008-08-08T11:03:21  <TheSheep> dreimark: it is possible to add the sidebar to modernized (it's just a single funtion), but where would I put it on the page?
2008-08-08T11:05:44  <dreimark> if we want it always on a page then we should do add it right of the text
2008-08-08T11:06:03  <dreimark> I am not sure if we want to activate it by some css mouse over feature
2008-08-08T11:06:11  <TheSheep> %)
2008-08-08T11:06:17  <TheSheep> no, please
2008-08-08T11:06:22  <dreimark> no ?
2008-08-08T11:08:45  <dreimark> it is not necessary to use a mouse over feature.
2008-08-08T11:09:39  * dreimark writes that macro to list the users page links
2008-08-08T12:01:21  <ThomasWaldmann> waldi: s/input/uri/ for the Uri param
2008-08-08T12:11:52  <ThomasWaldmann> waldi: also, for the Uri class, it might be interesting to first parse/split a input uri (if provided) and then override parts of it with other parts provided as args
2008-08-08T12:22:25  <ThomasWaldmann> http://groups.google.com/group/google-summer-of-code-announce/browse_thread/thread/df7278c6e027dee1
2008-08-08T12:23:52  <ThomasWaldmann> every student/mentor please read ^^^^
2008-08-08T12:32:18  <waldi> ThomasWaldmann: currently it is too broken ...
2008-08-08T12:32:51  <xorAxAx> what is too broken?
2008-08-08T12:33:05  <waldi> the uri handling
2008-08-08T12:33:15  <xorAxAx> which uri handling?
2008-08-08T12:42:32  * ThomasWaldmann is speaking or the Uri class
2008-08-08T12:48:06  <xorAxAx> waldi: the uri class is broken? or the way you use it?
2008-08-08T12:48:20  <xorAxAx> or the places where it should be used?
2008-08-08T12:48:25  <PawelPacana> ThomasWaldmann: trailing spaces removal on save - http://andrei.gmxhome.de/anyedit/
2008-08-08T12:49:37  <waldi> xorAxAx: the way I use it and the way I want to use it. its not easy to combine URIs with unicode. so I decided to enforce full escaping of the internal URIs for now
2008-08-08T12:51:22  <xorAxAx> yes, an uri cannot contain unicode strings
2008-08-08T12:51:46  <xorAxAx> but infact in moin one might want to pass higher level urls
2008-08-08T12:51:55  <xorAxAx> that have unicode strings, know about actions and pagenames etc.
2008-08-08T12:52:54  <ThomasWaldmann> PawelPacana: ah, nice
2008-08-08T12:53:27  <waldi> xorAxAx: sure. i try to get it right with the non-unicode-problem and can fixup this later
2008-08-08T13:14:50  <ThomasWaldmann> PawelPacana: backend migration line 51 53 55 57 look a bit strange
2008-08-08T13:16:01  <ThomasWaldmann> why do you need rev.keys? that should be done automatically as soon as you access rev metadata, right?
2008-08-08T13:16:41  <ThomasWaldmann> the dict/lambda/filter/update maybe could be easier done by a loop
2008-08-08T13:17:38  <ThomasWaldmann> you access rev._metadata, doesn't look like part of the public api
2008-08-08T13:19:21  <ThomasWaldmann> PawelPacana:        58                 new_rev.write(rev.read())
2008-08-08T13:19:43  <ThomasWaldmann> that won't be fun if someone has large attachments in his wiki
2008-08-08T13:19:58  <xorAxAx> PawelPacana: why do you need to special case EDIT_LOG_MTIME?
2008-08-08T13:20:08  <xorAxAx> hmm, the migration script doesnt preserve news(), PawelPacana
2008-08-08T13:30:46  <PawelPacana> xorAxAx: isnt EDIT_LOG_MTIME deprecated? i asked dennda about it, maybe i misunderstood this
2008-08-08T13:35:49  <xorAxAx> PawelPacana: well, we havent released anything yet, so EDIT_LOG_MTIME can simply be ignored
2008-08-08T13:35:53  <xorAxAx> and backends have to be fixed
2008-08-08T13:43:16  <ThomasWaldmann> dennda: wake up :)
2008-08-08T13:52:47  <ThomasWaldmann> zenhase: any twisted news?
2008-08-08T14:00:59  <ThomasWaldmann> zenhase: contrib/flup-server/ is still missing docs about what exactly it is, specifying revisions, upstream urls, patch urls, reasoning, ...
2008-08-08T14:02:39  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4662:fa813ec7b5f5 1.8-mercurialbackend-ppacana/MoinMoin/storage/backends/hg.py: (hg) Added missing _get_revision_timestamp. Some docstring updates. Grouped methods.
2008-08-08T14:02:44  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4663:d3df580291e3 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: (migration) Simplification, read/write in chunks, ignoring EDIT_LOG_MTIME.
2008-08-08T14:04:06  <xorAxAx> PawelPacana: do you know which backends still use LOG_MITME?
2008-08-08T14:05:08  <ThomasWaldmann> zenhase: moin_flup_wsgi still seem to instantiate some unneeded Config class (the other deployment scripts don't)
2008-08-08T14:05:13  <PawelPacana> xorAxAx: for sure new fs and hg dont use it
2008-08-08T14:05:21  <ThomasWaldmann> so please check what's superfluous or missing
2008-08-08T14:05:42  <PawelPacana> dont know about others
2008-08-08T14:06:01  * xorAxAx greps
2008-08-08T14:06:58  <xorAxAx> moin is using it
2008-08-08T14:07:12  <xorAxAx> info and diff action. please fix, dennda
2008-08-08T14:07:15  <xorAxAx> and Page.py
2008-08-08T14:07:45  <ThomasWaldmann> zenhase: ./wiki/server/wikiserver.py is currently the same as ./wikiserver.py
2008-08-08T14:08:19  <PawelPacana> info fixed in my branch
2008-08-08T14:08:23  <ThomasWaldmann> i think the one in the toplevel dir should be the one having the magic for "just works" after unpacking
2008-08-08T14:09:03  <ThomasWaldmann> the other one maybe should rather be like the other deployment scripts concerning sys.path etc.
2008-08-08T14:12:08  <ThomasWaldmann> PawelPacana: there are 2 typos in last cs and maybe that if should be after the loop, not inside
2008-08-08T14:13:08  <ThomasWaldmann> and I doubt that that chunking stuff works
2008-08-08T14:13:38  <ThomasWaldmann> maybe just try using shutil
2008-08-08T14:27:24  <PawelPacana> you mean shutil.copyfileobj?
2008-08-08T14:29:30  <PawelPacana> uhm, push hanging...
2008-08-08T14:31:32  <PawelPacana> ah, pushed
2008-08-08T14:33:09  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4285:aaa31467eda9 1.8-dom-bblank/MoinMoin/converter2/moinwiki_in.py: Moin Wiki input converter - Force URIs into utf-8 for now
2008-08-08T14:33:39  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4286:472f53a7ac35 1.8-dom-bblank/MoinMoin/converter2/ (_tests/test_link.py link.py): Link converter - Fix up handling of query string and fragments
2008-08-08T14:34:10  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4287:e9aa2a0db128 1.8-dom-bblank/MoinMoin/util/uri.py:
2008-08-08T14:34:10  <CIA-53> URI - Force all attributes to byte strings
2008-08-08T14:34:10  <CIA-53> It's the easiest way for now to force properly encoding.
2008-08-08T14:34:40  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4288:02bfdd7aa68d 1.8-dom-bblank/MoinMoin/converter2/creole_in.py: Creole input converter - Use non-unicode URIs
2008-08-08T14:35:11  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4289:0fb8984f3424 1.8-dom-bblank/MoinMoin/converter2/moinwiki_in.py: Moin Wiki input converter - Add comments about URI usage
2008-08-08T14:35:44  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4290:1ab8f859e00a 1.8-dom-bblank/MoinMoin/formatter/compatibility.py: Compatibility formatter - Support line break
2008-08-08T14:36:18  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4291:8285a290e5cc 1.8-dom-bblank/MoinMoin/macro2/_base.py: Macro base classes - Encode URIs
2008-08-08T14:36:48  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4292:94944bd412c3 1.8-dom-bblank/MoinMoin/formatter/compatibility.py: Compatibility formatter - Encode URIs
2008-08-08T14:37:35  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4293:1fb2bc2cfed8 1.8-dom-bblank/MoinMoin/converter2/moinwiki_in.py: Moin Wiki input converter - Encode further URIs
2008-08-08T14:38:19  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4294:dcbf37d2441d 1.8-dom-bblank/MoinMoin/converter2/_wiki_macro.py: Macro handling - Encode URI
2008-08-08T14:39:31  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4295:c15ebdcba168 1.8-dom-bblank/MoinMoin/converter2/link.py: Link converter - Support encoded URI
2008-08-08T14:40:47  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4296:be8ed59b5e7a 1.8-dom-bblank/MoinMoin/converter2/macro.py: Macro converter - Support encoded URI
2008-08-08T14:40:47  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4297:6c213d86f3bd 1.8-dom-bblank/MoinMoin/converter2/moinwiki_in.py: Moin Wiki input converter - Ignore spaces around nowiki/parser arguments
2008-08-08T14:59:09  * dennda yawns
2008-08-08T15:16:17  <ThomasWaldmann> dennda: please merge Pawel's repo
2008-08-08T15:21:45  <ThomasWaldmann> PawelPacana: can you please separate commandline options stuff from the function doing the migration?
2008-08-08T15:22:08  <ThomasWaldmann> that function should be callable by a mig script, just giving stuff needed as params
2008-08-08T15:23:34  <ThomasWaldmann> and maybe just having data_backend_source and user_backend_source would make the --source option superfluous
2008-08-08T15:24:15  <zenhase> moin
2008-08-08T15:26:03  <xorAxAx> PawelPacana: so, do you think that news() loss is fixable?
2008-08-08T15:26:20  <xorAxAx> PawelPacana: as we once said, the newest spec mandates that items/revisions are created chronologically
2008-08-08T15:26:32  <xorAxAx> not sure how the api was fixed to support that
2008-08-08T15:27:11  * ThomasWaldmann waits for dennda's merge/push
2008-08-08T15:30:25  <dennda> ThomasWaldmann: I did push, and the push even ended properly, but CIA-53 isn't in the mood to report that
2008-08-08T15:31:01  <ThomasWaldmann> ah, well, then do that yourself :)
2008-08-08T15:31:28  <ThomasWaldmann> PawelPacana: migration fails. i think because it does not create target directory in the fs backend
2008-08-08T15:34:47  <ThomasWaldmann> after doing that manually, it does something :)
2008-08-08T15:34:51  <PawelPacana> ThomasWaldmann: it never intended to create it
2008-08-08T15:35:17  <ThomasWaldmann> so how should it work then?
2008-08-08T15:35:55  <dreimark> waldi: RC tells global name 'uri' is not defined
2008-08-08T15:36:39  * ThomasWaldmann guesses he will have lots of news() because all items are created fresh when migrating
2008-08-08T15:36:45  <PawelPacana> this script assumes backends are set up correctly, however maybe backend should create such dirs __init__
2008-08-08T15:37:06  <PawelPacana> yeah, news() is not correct
2008-08-08T15:37:39  <PawelPacana> xorAxAx: such fix would involve getting items by timestamp order
2008-08-08T15:38:03  <PawelPacana> there is no sorted iteritems in API
2008-08-08T15:38:42  <waldi> dreimark: i doubt that RC does it, but some other part
2008-08-08T15:38:52  <dennda> ThomasWaldmann: yes, that's likely to happen
2008-08-08T15:39:03  <ThomasWaldmann> ok, it finished
2008-08-08T15:39:09  <xorAxAx> PawelPacana: news() does that
2008-08-08T15:39:17  <dreimark> waldi: MoinMoin/formatter/compatibility.py
2008-08-08T15:39:30  <dreimark> 229 # TODO: unicode URI
2008-08-08T15:39:59  <xorAxAx> ThomasWaldmann: it shouldnt be like that :)
2008-08-08T15:40:09  <byeongweon> xorAxAx: moin
2008-08-08T15:40:12  <xorAxAx> in the newest spec, its fixed and you only see items appearing if they are really new
2008-08-08T15:40:15  <xorAxAx> hi byeongweon
2008-08-08T15:40:32  <ThomasWaldmann> RC misbehaves
2008-08-08T15:40:44  <byeongweon> xorAxAx: can you explain me reproduced error about relative link.
2008-08-08T15:40:54  <ThomasWaldmann> it renders up to the random quote and nothing more, not even the page footer
2008-08-08T15:40:56  <xorAxAx> byeongweon: yeah. i was basically doing what it said :)
2008-08-08T15:41:08  <xorAxAx> byeongweon: the bug report page ... and i got a link that had a label
2008-08-08T15:41:38  <byeongweon> did you change link without using link button?
2008-08-08T15:41:51  <xorAxAx> byeongweon: hmm, indeed
2008-08-08T15:41:54  <xorAxAx> byeongweon: user error :)
2008-08-08T15:42:08  * dennda needs a coffee, brb
2008-08-08T15:42:09  <waldi> dreimark: okay
2008-08-08T15:42:15  <byeongweon> hehe.
2008-08-08T15:42:17  <xorAxAx> byeongweon: then forget it :)
2008-08-08T15:42:22  <byeongweon> ok.
2008-08-08T15:42:27  <ThomasWaldmann> dennda: RC doesnt work. even after manually editing a page, nada.
2008-08-08T15:42:28  <byeongweon> I will clear that link.
2008-08-08T15:42:38  <byeongweon> s/link/bug
2008-08-08T15:42:53  * PawelPacana gets back to work after eating
2008-08-08T15:45:23  <waldi> dreimark: fixed
2008-08-08T15:45:29  <ThomasWaldmann> dennda: metadata handling is broken
2008-08-08T15:45:35  <dreimark> waldi: :)
2008-08-08T15:45:36  <dennda> ThomasWaldmann: <<RecentChanges>> added?
2008-08-08T15:45:41  <ThomasWaldmann> just try to save a page that has
2008-08-08T15:45:45  <ThomasWaldmann> ## foo
2008-08-08T15:45:48  <ThomasWaldmann> ## bar
2008-08-08T15:45:50  <ThomasWaldmann> at the top
2008-08-08T15:46:03  * dreimark suggest next soc we should have different ports for the student repos
2008-08-08T15:46:46  <ThomasWaldmann> [Errno 24] Too many open files: '/home/wedvwiki/moin-1.8-storage/output/pages/name-mapping'
2008-08-08T15:47:04  * dennda fetches up
2008-08-08T15:47:05  <CIA-53> Bastian Blank <bblank@thinkmo.de> default * 4298:94c9680f03f8 1.8-dom-bblank/MoinMoin/formatter/compatibility.py: Compatibility formatter - Add missing import
2008-08-08T15:47:49  <ThomasWaldmann> (happens in pycdb)
2008-08-08T15:50:31  <waldi> dreimark: why?
2008-08-08T15:53:11  <dreimark> waldi: because a common mistake me sometimes did is not to make sure I have killed the last wikiserver process
2008-08-08T15:53:23  <dreimark> s/me/I/
2008-08-08T15:54:38  <waldi> dreimark: you can change the port in your copy
2008-08-08T15:55:36  <dreimark> I know but the best solution is also to have a wikiserverconfig_local.py
2008-08-08T15:55:47  <dreimark> which is excluded from hg
2008-08-08T15:56:47  <waldi>  9 files changed, 15 insertions(+), 12 deletions(-)
2008-08-08T15:57:25  <waldi> this are never-to-be-commited patches ...
2008-08-08T16:00:27  <dreimark> waldi: ThomasWaldmann is there a list which macro is or need to be migrated ?
2008-08-08T16:00:53  <waldi> MoinMoin/macro/*.py
2008-08-08T16:01:09  <waldi> the new ones are in MoinMoin/macro2 because of the different interface
2008-08-08T16:02:02  <dreimark> ok, I make a list on the wiki so one can claim on which he likes to work
2008-08-08T16:02:28  <xorAxAx> why do they all need to be migrated in the short term?
2008-08-08T16:02:45  <waldi> they don't need to. the compatiblity stuff mostly works
2008-08-08T16:02:52  <xorAxAx> see dreimark
2008-08-08T16:03:17  <dreimark> xorAxAx: they don't I just want to convert some of mine
2008-08-08T16:04:48  <dreimark> waldi: are all the old macro's tested with that compatiblity stuff?
2008-08-08T16:05:25  <xorAxAx> waldi: these tag_table = ET.QName('table', namespaces.moin_page) decls in some macros look ugly to me
2008-08-08T16:22:56  <dreimark> waldi: AdvancedSearch looks strange
2008-08-08T16:32:47  <xorAxAx> waldi: how is that better than doing someobj.table?
2008-08-08T16:35:28  <dreimark> current EmbedObject AssertionError
2008-08-08T16:35:36  <dreimark> with an pdf file
2008-08-08T16:39:00  <dreimark> a call of  <<MontCalendar>> gives <<MonthCalendar: args must be unicode>>
2008-08-08T16:39:14  <dreimark> while <<MontCalendar()>> works
2008-08-08T16:42:37  <dreimark> waldi: <<PageList>> gives a TypeError
2008-08-08T16:42:59  <ThomasWaldmann> dennda: Page:189 makes not much sense as self._rev is a property and gets autoloaded when you access it
2008-08-08T16:44:01  <ThomasWaldmann> the autoloading doesn't work btw, because it tries to self.__rev = self.__item.get_revision(self.rev) in line 126 and self.rev can be None there
2008-08-08T16:44:27  <dennda> ThomasWaldmann: yeah, but self.__rev may be None
2008-08-08T16:44:42  <dennda> by the way, I committed quite a bunch of changesets, please pull
2008-08-08T16:44:50  <ThomasWaldmann> read my words again
2008-08-08T16:45:43  <ThomasWaldmann> (it happens on WikiSandkasten in a underlay converted to fs backend)
2008-08-08T16:46:10  <dennda> how can self.rev be none there?
2008-08-08T16:46:24  <ThomasWaldmann> how about just accessing that page? :)
2008-08-08T16:47:22  <dennda> http://moinmo.in/WikiSandkasten ?
2008-08-08T16:47:27  <ThomasWaldmann> and if we require revnos to be int, add an assert to all storage api functions getting revno params
2008-08-08T16:47:41  <ThomasWaldmann> since when is moinmo.in storage repo code?
2008-08-08T16:48:34  <dennda> then "just accessing that page" becomes "convert and access that page" :)
2008-08-08T16:49:00  <ThomasWaldmann> http://paste.pocoo.org/show/81623/
2008-08-08T16:49:22  <dennda> thanks
2008-08-08T16:49:32  <ThomasWaldmann> $ MoinMoin/script/moin.py migration backend -t data
2008-08-08T16:50:34  <ThomasWaldmann> and create output/{pages,user} first as nothing else will do that :|
2008-08-08T16:53:06  <ThomasWaldmann> btw, maybe we should also add itemname = unicode(itemname) to all api functions getting an itemname
2008-08-08T16:53:29  <ThomasWaldmann> then the api user can either provide ascii pagename or unicode object pagename and it will work
2008-08-08T16:53:35  <dennda> converting...
2008-08-08T16:53:44  <ThomasWaldmann> but if someone tries to feed some utf-8 string, it will blow up early
2008-08-08T16:55:26  <ThomasWaldmann> btw, the WikiSandkasten failure seems to be triggered by <<TableOfContents>> there
2008-08-08T16:56:44  <ThomasWaldmann> [Errno 24] Too many open files: '/home/wedvwiki/moin-1.8-storage/output/pages/name-mapping'
2008-08-08T16:57:00  <ThomasWaldmann> btw, when are we closing files? :)
2008-08-08T16:57:25  <ThomasWaldmann> it almost looks like we never do and rely on garbage collector to do
2008-08-08T17:00:45  <CIA-53> Byeongweon [tasyblue@gmail.com] default * 3984:5bb18401738b 1.8-guieditor-mbyeongweon/MoinMoin/converter/text_html_text_moin_wiki.py: fix MoinMoinBugs/GuiEditorIndentStyledText bug
2008-08-08T17:02:22  <xorAxAx> real men dont close files :)
2008-08-08T17:03:40  <ThomasWaldmann> hehe
2008-08-08T17:03:49  <dennda> ThomasWaldmann: So I navigated to my local wikisandbox now. how do I reproduce the error?
2008-08-08T17:04:11  <ThomasWaldmann> WikiSandkasten and it jumps at you
2008-08-08T17:04:49  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4666:f0b95564bc28 1.8-mercurialbackend-ppacana/MoinMoin/storage/ (_tests/test_backends_hg.py backends/hg.py): (hg) __init__: Removed create option - reusing if possible, creating main dir if doesnt exist. Refactored init_tests.
2008-08-08T17:04:55  <dennda> ThomasWaldmann: Nothing jumps :(
2008-08-08T17:05:05  <dennda> Why doesn't CIA work for me but for anybody else?
2008-08-08T17:05:23  <PawelPacana> dennda: it didnt work for me earlier , too
2008-08-08T17:05:54  <ThomasWaldmann> dennda: maybe you are on their blacklist :P
2008-08-08T17:06:02  <dennda> hm
2008-08-08T17:06:04  <dennda> maybe
2008-08-08T17:06:08  <dennda> because I am so ev0l
2008-08-08T17:08:15  <ThomasWaldmann> http://localhost:8080/?action=titleindex shows an error that TitleIndex manages to hide
2008-08-08T17:10:26  <dreimark> byeongweon: xorAxAx I do think the . indenting is only for one level or?  .  . '''fddfdf'''
2008-08-08T17:10:50  <dreimark> one . is shown
2008-08-08T17:10:59  <byeongweon> do indenting only one.
2008-08-08T17:11:13  <dreimark> for only one it works
2008-08-08T17:14:45  <dennda> ThomasWaldmann: What about that jumping error?
2008-08-08T17:17:30  <ThomasWaldmann> i don't know, works for me ever
2008-08-08T17:17:43  <ThomasWaldmann> but just click around in the wiki pages, you'll find enough bugs :)
2008-08-08T17:19:12  <dreimark> byeongweon: http://moinmo.in/MoinMoinBugs/GuiEditorIndentingChangedForTables
2008-08-08T17:20:12  <byeongweon> dreimark: ok I will handle that.
2008-08-08T17:21:12  <dreimark>  . ||Test ||
2008-08-08T17:21:18  <dreimark> is not the solution
2008-08-08T17:21:26  <dennda> ThomasWaldmann: Please remove EDIT_LOG_MTIME from your backend
2008-08-08T17:21:32  <dennda> I am just throwing that out
2008-08-08T17:21:40  <byeongweon> I guess converter doesn't insert .\n process_table routine insert \n front of that.
2008-08-08T17:21:57  <dreimark> ThomasWaldmann: can that be easy changed in the parser that . always can be used for indenting (where it is usefull)?
2008-08-08T17:22:00  <dennda> 38 failing tests left btw
2008-08-08T17:22:29  <dreimark> s/usefull/makes sense/
2008-08-08T17:23:20  <dreimark> byeongweon: can you destinguish if indenting comes from a blanbk or from a . ?
2008-08-08T17:23:22  <ThomasWaldmann> dennda: what exactly shall I remove?
2008-08-08T17:23:53  <byeongweon> dreimark: from parser?
2008-08-08T17:23:54  <dennda> ThomasWaldmann: EDIT_LOG_MTIME was metadata that was used to set a revisions date of creation. That has now been replaced by a revision.timestamp property
2008-08-08T17:24:30  <ThomasWaldmann> ok, then I'll replace with my own constant as I use it for processing edit-log :)
2008-08-08T17:25:50  <dreimark> byeongweon: if one enters a list he uses the . and for all other indengings e.g. text, tables it is a blank.
2008-08-08T17:26:01  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4676:dda08b18ad12 1.8-storage-cdenter/MoinMoin/ (Page.py PageEditor.py action/diff.py storage/__init__.py): storage: Page, PageEditor, diff-action: Replace use of deprecated metadata constant EDIT_LOG_MTIME and replace it by new revision.timestamp property
2008-08-08T17:26:11  * dennda hugs CIA-53 
2008-08-08T17:26:11  * CIA-53 hugs dennda
2008-08-08T17:26:13  <dennda> welcomeback
2008-08-08T17:26:19  <dreimark> byeongweon: so it should not be converted always into a . because that is wrong
2008-08-08T17:26:41  <dennda> ThomasWaldmann: This changeset will help you. It will break if you try to import EDIT_LOG_MTIME :)
2008-08-08T17:28:25  * dreimark htg 
2008-08-08T17:28:27  <byeongweon> dreimark: then, could I solve this problem indenting using whitespace?
2008-08-08T17:28:40  <dreimark> yes for tables it is whitespace
2008-08-08T17:29:01  <dreimark> but for bullet or enumareation it is .
2008-08-08T17:30:33  <dreimark> http://moinmo.in/WikiSandBox?action=raw
2008-08-08T17:31:30  <dreimark> now
2008-08-08T17:31:59  <dreimark> added some more examples
2008-08-08T17:32:09  <dreimark> bbl
2008-08-08T17:32:35  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4677:0776e25b629c 1.8-storage-cdenter/MoinMoin/storage/backends/fs.py: storage: FSBackend: charset fix. Thanks JohannesBerg
2008-08-08T17:33:08  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4678:d14834e76772 1.8-storage-cdenter/MoinMoin/request/__init__.py: storage: request/__init__: Fix revision numbering. Use -1 instead of None. Thanks JohannesBerg
2008-08-08T17:34:33  <CIA-53> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 4679:45cfd889d281 1.8-storage-cdenter/MoinMoin/storage/backends/fs17.py: fs17 storage backend: remove EDIT_LOG_MTIME import from storage, use it privately
2008-08-08T17:35:47  * dennda thinks how to best fill my memory backend with underlay
2008-08-08T17:36:17  <ThomasWaldmann> by using backend.py? :)
2008-08-08T17:36:53  <dennda> I havn't checked, but I don't think it'd work out of the box
2008-08-08T17:37:17  <ThomasWaldmann> it should be refactored a bit, as I told above
2008-08-08T17:37:44  <dennda> well the problem is, that you need to keep the memorybackend-object alive
2008-08-08T17:37:58  <dennda> otherwise you can fill it, and if it goes ot of scope it is gone :)
2008-08-08T17:46:23  <ThomasWaldmann> dennda: why is the memory backend code not just using try/except? http://hg.moinmo.in/moin/1.8-storage-cdenter/rev/65738331ad40
2008-08-08T17:46:56  <ThomasWaldmann> as I have already shown to you, that also makes the code much simpler
2008-08-08T17:47:56  <ThomasWaldmann> - elif self.rev != self.current_rev():
2008-08-08T17:47:56  <ThomasWaldmann> + elif self.rev >= 0:
2008-08-08T17:47:56  <ThomasWaldmann> # Trying to edit an old version, this is not possible via
2008-08-08T17:47:57  <ThomasWaldmann> # the web interface, but catch it just in case...
2008-08-08T17:48:22  <ThomasWaldmann> it doesn't look like the code is checking what the comment tells
2008-08-08T17:55:10  <xorAxAx> ThomasWaldmann: comments arent changed in order to determine the cultural history of a hunk of code :-)
2008-08-08T17:56:41  <ThomasWaldmann> and I don't quite get that flatfile backend use case for editing moin docs...
2008-08-08T17:57:36  <xorAxAx> hmm?
2008-08-08T17:57:42  <ThomasWaldmann> http://hg.moinmo.in/moin/1.8-storage-cdenter/rev/504786046b1e
2008-08-08T17:58:03  <xorAxAx> the idea is that moin master goes into the hg repo
2008-08-08T17:58:09  <xorAxAx> as a copy
2008-08-08T17:58:19  <xorAxAx> and is versioned together with the code
2008-08-08T17:58:32  <xorAxAx> but the critical part is syncing the public wiki instance with the hg repo :)
2008-08-08T17:59:08  <ThomasWaldmann> why should I edit locally if i can just to on master.moinmo.in?
2008-08-08T17:59:11  <xorAxAx> the central use case is johill who wants to snapshot not only code but also docs (get never out of date) and edit them locally
2008-08-08T17:59:18  <ThomasWaldmann> s/to on/do on/ :)
2008-08-08T17:59:33  <xorAxAx> well, on moinmaster you only have a single revision - head
2008-08-08T18:00:06  <xorAxAx> but i agree that the use case needs a bit thinking
2008-08-08T18:00:29  <ThomasWaldmann> it is just making data flow more complicated
2008-08-08T18:04:54  <ThomasWaldmann> aah, TitleIndex works :)
2008-08-08T18:08:35  <ThomasWaldmann> WantedPages throws quite some exceptions
2008-08-08T18:14:33  <ThomasWaldmann> do I need to increase file handles or is someone already looking at that? X)
2008-08-08T18:33:34  <ThomasWaldmann> watch "lsof | grep output"       # do this and then click on RecentChanges and watch it explode
2008-08-08T18:34:16  <ThomasWaldmann> (use something else instead of output that is in your fs backend storage path)
2008-08-08T18:35:38  <ThomasWaldmann> jumps to about 1000 here
2008-08-08T18:36:31  <ThomasWaldmann> dennda: ^^
2008-08-08T18:45:18  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4667:7eadfe3b24f1 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: (migration) Code separation: now import 'clone' to use it elsewhere. Less parameters in CLI -> more in wikiconfig. Unused import purge.
2008-08-08T18:45:51  <PawelPacana> now the 'news' thing.
2008-08-08T18:46:08  <xorAxAx> cool
2008-08-08T19:05:09  <PawelPacana> hmm
2008-08-08T19:05:23  <PawelPacana> fs17 has no news()
2008-08-08T19:05:33  <PawelPacana> yet
2008-08-08T19:07:54  <ThomasWaldmann> yes, i can look at it in about an hour
2008-08-08T19:08:22  <xorAxAx> how would RC work without news? :)
2008-08-08T19:08:30  <xorAxAx> ThomasWaldmann: didnt you say that RC does not work? :)
2008-08-08T19:08:33  <ThomasWaldmann> see the docstring :)
2008-08-08T19:08:52  <ThomasWaldmann> and I used fs backend for testing, not fs17
2008-08-08T19:09:08  <xorAxAx> PawelPacana: to write a unittest that tests your migration code, you dont need the fs17 bacend :)
2008-08-08T19:09:11  <ThomasWaldmann> a traceback doesnt open 1000 files :P
2008-08-08T19:11:34  <xorAxAx> ?
2008-08-08T19:14:20  <dennda> PawelPacana: I wonder how to best fill my MemoryBackend for a test run... Suggestions?
2008-08-08T19:14:36  <xorAxAx> dennda: whats the exact problem?
2008-08-08T19:15:17  <dennda> xorAxAx: I didn't check it deeply yet, but assume that my memorybackend gets out of scope after running the migration script
2008-08-08T19:15:24  <dennda> i will give it some mor thought though
2008-08-08T19:15:57  <xorAxAx> dennda: "out of scope"?
2008-08-08T19:15:59  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4668:1bedf208e923 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: (migration) Migration with revision creation order in mind. old_clone just for compat for a while (fs17).
2008-08-08T19:16:07  <xorAxAx> dennda: a wiki instance is defined by a config
2008-08-08T19:16:11  <xorAxAx> dennda: and a config has a backend
2008-08-08T19:16:48  <xorAxAx> so you need to look at conftest, thats where the request setup is done
2008-08-08T19:17:46  <PawelPacana> xorAxAx: what i only meant is that thomas wont migrate using new 'clone' (because of lacking news()), so i left old_clone there for a while
2008-08-08T19:19:10  <xorAxAx> PawelPacana: but a unittest would be nice anyway :)
2008-08-08T19:19:53  <PawelPacana> i would say, that even mandatory
2008-08-08T19:22:11  <PawelPacana> IIRC we agreed on some collaboration with this migration stuff, dennda? maybe you could write just a few tests :)
2008-08-08T19:25:21  <dennda> sure
2008-08-08T19:29:26  <xorAxAx> esp. testing that news() was correctly used
2008-08-08T19:29:39  <xorAxAx> and that mtimes were retained and that news is still correct
2008-08-08T19:36:50  <ThomasWaldmann> PawelPacana: you can't rely on news() giving you ALL items
2008-08-08T19:40:15  <ThomasWaldmann> esp. regarding that news() main usage is to tell "news" (not necessarily stuff from years ago :)
2008-08-08T19:41:44  <ThomasWaldmann> a technical problem is also that old global edit-logs sometimes were damaged due to different reasons and a usual way to solve such problems was to just truncate the edit-log (or remove damaged sections by editing the file)
2008-08-08T19:42:42  <xorAxAx> ThomasWaldmann: no, it has to tell you all information
2008-08-08T19:42:49  <xorAxAx> but the backing store isnt authorative
2008-08-08T19:43:02  <ThomasWaldmann> thus, a method a bit more complicated (but manageable), could be to iterate over all items and basically recreate that information from the item revisions metadata
2008-08-08T19:43:21  <xorAxAx> the idea is that you can always recreate the data for news
2008-08-08T19:43:36  <xorAxAx> probably the api needs to grow a few repair methods for that :)
2008-08-08T19:43:55  <xorAxAx> (if it makes sense. a db backend wouldnt need that)
2008-08-08T19:44:03  <ThomasWaldmann> fs17 is read-only :)
2008-08-08T19:44:16  <xorAxAx> so? :)
2008-08-08T19:44:25  <ThomasWaldmann> repair is rw :)
2008-08-08T19:44:37  <xorAxAx> so?
2008-08-08T19:44:47  <xorAxAx> i wasnt suggesting to call repair in the migration code
2008-08-08T19:44:51  <dennda> brb, buying salad
2008-08-08T19:44:57  <ThomasWaldmann> no news repair for fs17
2008-08-08T19:45:19  <xorAxAx> well, it doesnt need a news repair then :) but it needs to build the sequence itself, probably using some common function
2008-08-08T19:45:58  <xorAxAx> hmm, i think such repair stuff shouldnt be in the api
2008-08-08T19:46:04  <xorAxAx> but rather something backend specific
2008-08-08T19:46:14  <xorAxAx> because the places of brokeness may widely differ
2008-08-08T19:47:25  <xorAxAx> i think aiming for robustness is probably currently better than thinking about such an api method :)
2008-08-08T19:47:34  <ThomasWaldmann> gtg/brb
2008-08-08T20:30:22  <ThomasWaldmann> re
2008-08-08T20:32:35  <dennda> boy am I happy not to study something non-techy... all other institutes are still living in the past
2008-08-08T20:33:59  <ThomasWaldmann> like how?
2008-08-08T20:34:33  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4669:b8f590eb0b4a 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: (migration) Fix order of revisions.
2008-08-08T20:34:38  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4684:8993c63d4f88 1.8-mercurialbackend-ppacana/MoinMoin/ (15 files in 8 dirs): Merge with 1.8-storage-cdenter.
2008-08-08T20:34:44  <dennda> their coordination is just teh suck
2008-08-08T20:35:27  <dennda> nobody ever mentions an important tutorium or something like that, and if you by accident happen to have some insider information you still need to run to the campus and be one of the first people to manually put your name on the list
2008-08-08T20:35:36  <dennda> (which is hidden somewhere)
2008-08-08T20:35:37  <ThomasWaldmann> nowadays that's called chaos theory
2008-08-08T20:35:47  <dennda> no, that's called retardedness
2008-08-08T20:39:29  <ThomasWaldmann> PawelPacana: reversed is not in 2.3
2008-08-08T20:40:51  <dennda> It isn't?
2008-08-08T20:40:57  <dennda> Oh boy... :(
2008-08-08T20:41:34  <PawelPacana> damn 2.3 ;)
2008-08-08T20:42:06  <ThomasWaldmann> PawelPacana: you use 2.4 or 2.5?
2008-08-08T20:43:02  <xorAxAx> reversed = lambda x: list(x)[::-1]
2008-08-08T20:43:28  <xorAxAx> isnt that in some support module?
2008-08-08T20:46:04  <PawelPacana> ThomasWaldmann: generally 2.3 for this stuff, but iirc have used generator expression somewhere in backend
2008-08-08T20:46:23  <PawelPacana> and this reversed in action, too
2008-08-08T20:46:29  <PawelPacana> have to change that
2008-08-08T20:46:40  * dennda too
2008-08-08T20:58:20  <ThomasWaldmann> PawelPacana: that reversed thing is a minor problem compared to the news() usage, though
2008-08-08T20:58:28  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4050:7a6d93a96a98 1.8-wsgi-fkrupicka/MoinMoin/web/session.py: Fixed: wrong cookie path made session restricted to login-action-path
2008-08-08T20:58:30  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4051:d5aa1ac55789 1.8-wsgi-fkrupicka/ (MoinMoin/web/ajp_frontend.py wiki/server/moin.ajp): Added AJP adapter
2008-08-08T20:58:30  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4052:31f221fe7460 1.8-wsgi-fkrupicka/ (MoinMoin/web/_fallback_cgi.py wiki/server/moin.cgi): Cosmetical changes (PEP8, file perms)
2008-08-08T20:58:31  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4053:27ea0a15a347 1.8-wsgi-fkrupicka/ (5 files in 3 dirs): Removed outdated twisted code
2008-08-08T20:58:33  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4054:310ab489e119 1.8-wsgi-fkrupicka/wiki/server/wikiserver.py: Remove duplicate wikiserver.py
2008-08-08T20:58:38  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4055:97d307e1c525 1.8-wsgi-fkrupicka/wiki/server/moin_flup_wsgi.py: Remove old flup-wsgi script (can be done with moin.cgi now)
2008-08-08T20:58:58  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4056:7268d6f94e6c 1.8-wsgi-fkrupicka/MoinMoin/_tests/test_sourcecode.py: Exempt flup-server from sourcecode tests (3rd party code)
2008-08-08T20:59:15  <zenhase> oops
2008-08-08T20:59:24  <zenhase> i think i flooded cia
2008-08-08T20:59:30  <dennda> doesn't matter
2008-08-08T20:59:35  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4057:012c4c4ce35b 1.8-wsgi-fkrupicka/contrib/flup-server/NOTES.moin: Added information on flup origin and modification
2008-08-08T20:59:36  <dennda> that thing is almost dead anyways ;)
2008-08-08T21:00:41  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4058:4850d477c22f 1.8-wsgi-fkrupicka/MoinMoin/web/ (ajp_interface.py ajp_frontend.py): Fixed: naming of the ajp module
2008-08-08T21:00:50  <CIA-53> Florian Krupicka <florian.krupicka@googlemail.com> default * 4059:d1be5f6846ca 1.8-wsgi-fkrupicka/ (8 files in 2 dirs): Aggregated flup-based servers into single file and added server-type config (threaded/forked/single)
2008-08-08T21:00:51  <ThomasWaldmann> zenhase: moin.cgi can do cgi, fcgi and wsgi?
2008-08-08T21:00:53  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4680:bdda06d9889b 1.8-storage-cdenter/MoinMoin/storage/backends/memory.py: storage: MemoryBackend: For the sake of 2.3 support, remove usage of list.reverse()
2008-08-08T21:01:06  <zenhase> ThomasWaldmann: no, only the first two
2008-08-08T21:01:25  <ThomasWaldmann> so what was flup-wsgi about?
2008-08-08T21:01:27  <zenhase> ThomasWaldmann: moin_flup_wsgi just did FCGI via flup back then
2008-08-08T21:01:39  <zenhase> which is now covered by moin.cgi :)
2008-08-08T21:01:50  <ThomasWaldmann> ah, ok
2008-08-08T21:02:27  <zenhase> moin.cgi is really versatile now ... being able to run in CGI and FCGI and when run with cli-parameters it can bind to sockets and you can select the mode of the server (threaded, forked, single)
2008-08-08T21:02:39  <zenhase> same goes for moin.scgi and moin,ajp
2008-08-08T21:03:16  <zenhase> just try moin.cgi -h ;)
2008-08-08T21:06:37  <zenhase> i am still worried about twisted tho
2008-08-08T21:07:37  <ThomasWaldmann> worried? there is nothing to be worried about any more. :)
2008-08-08T21:08:28  <ThomasWaldmann> zenhase: server.Config - is it still used?
2008-08-08T21:10:29  <zenhase> i think the only thing still used in the MoinMoin.server package is the Daemon code
2008-08-08T21:11:45  <zenhase> i will just transplant it to MoinMoin.util i guess so i can remove the server-package completely
2008-08-08T21:14:30  <zenhase> but need a short break right now, hand is a bit strained
2008-08-08T21:14:33  <zenhase> bbl
2008-08-08T21:16:53  <ThomasWaldmann> zenhase: old standalone was able to switch UID when started as root
2008-08-08T21:19:37  <zenhase> ok, will fix that
2008-08-08T21:20:02  <zenhase> the code for this was in server_standalone.py i suppose, i will retrieve it from there
2008-08-08T21:20:33  <PawelPacana> ThomasWaldmann: so i will just generate list of revisions sorted by timestamp using backend.iteritems()
2008-08-08T21:20:34  <ThomasWaldmann> yes
2008-08-08T21:20:59  <ThomasWaldmann> PawelPacana: yes, please
2008-08-08T21:21:08  <dennda> Have you seen the implementation in memorybackend? it is quite easy
2008-08-08T21:22:35  <ThomasWaldmann> zenhase: maybe instead of killing server package, it could be reused :)
2008-08-08T21:23:17  <zenhase> ThomasWaldmann: you mean transfer some code from .web to .server?
2008-08-08T21:23:20  <ThomasWaldmann> in web package, isn't there a mix of stuff, partly generic code and partly just for some type of servers?
2008-08-08T21:24:30  <zenhase> well, in some way it's all related to connecting the wiki-engine with the webbrowser ;)
2008-08-08T21:26:25  <dennda> If only CIA-53 didn't suck
2008-08-08T21:26:25  <ThomasWaldmann> just an idea. have a look over the code and decide yourself :)
2008-08-08T21:32:01  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4681:154c2320879c 1.8-storage-cdenter/MoinMoin/storage/backends/memory.py: storage: MemoryBackend: Replace complicated if-statement with try/except block
2008-08-08T21:32:12  <dennda> oh
2008-08-08T21:35:50  <ThomasWaldmann> bot KI
2008-08-08T21:36:21  <dennda> In order to write a testsuite for the migration script, I would just put another file in _tests and do some tests in there, correct?
2008-08-08T21:38:02  <ThomasWaldmann> in migration/_tests/ yes
2008-08-08T21:38:09  <dennda> ah ok
2008-08-08T21:38:21  <xorAxAx> migration/?
2008-08-08T21:38:44  <dennda> MoinMoin/script/migration/_tests I assume
2008-08-08T21:39:30  <xorAxAx> no
2008-08-08T21:39:36  <xorAxAx> you shouldnt test the script
2008-08-08T21:39:52  <xorAxAx> please refactor the migration code into the storage package and place the test there as well
2008-08-08T21:39:55  <dennda> oh, ok? PawelPacana asked me to write some tests
2008-08-08T21:40:08  <xorAxAx> yes, but not for the script
2008-08-08T21:40:22  <dennda> which test then?
2008-08-08T21:40:33  <dennda> "and place the test there as well"
2008-08-08T21:40:44  <xorAxAx> the test testing the migration code
2008-08-08T21:40:49  <xorAxAx> that you wrote :)
2008-08-08T21:40:56  <xorAxAx> will have written
2008-08-08T21:41:19  <dennda> after having refactored the current migration script code PawelPacana wrote?
2008-08-08T21:41:24  <xorAxAx> yes
2008-08-08T21:41:30  <dennda> ah
2008-08-08T21:41:56  <xorAxAx> as we already suggested earlier today
2008-08-08T21:42:07  <dennda> I was just confused because I interpreted your statement as "no tests at all for the migration script, not now, never"
2008-08-08T21:42:27  <xorAxAx> well, a unittest tests a code unit
2008-08-08T21:42:55  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4685:9244b759689c 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: (migration) Not using news(). Fixed typos. Removed unordered 'old_clone'.
2008-08-08T21:42:58  <xorAxAx> and we already talked about refactoring the migration code to work separately
2008-08-08T21:43:06  <dennda> when was that talk?
2008-08-08T21:43:09  <xorAxAx> today
2008-08-08T21:43:38  <dennda> I must have missed that
2008-08-08T21:43:46  * dennda looks through his logs
2008-08-08T21:44:21  <PawelPacana> xorAxAx: the clone function can be easily ripped from this script
2008-08-08T21:44:34  <ThomasWaldmann> PawelPacana: sort with key is not 2.3 iirc
2008-08-08T21:44:40  <xorAxAx> PawelPacana: yes
2008-08-08T21:44:52  <dennda> jesus christ, what *is* in 2.3? :)
2008-08-08T21:44:52  <xorAxAx> PawelPacana: thats the idea, we need news() driven cloning :)
2008-08-08T21:45:02  <xorAxAx> dennda: see the docs
2008-08-08T21:45:14  <xorAxAx> installing py2.3 is trivial, btw
2008-08-08T21:45:24  <ThomasWaldmann> PawelPacana: attrgetter?
2008-08-08T21:45:41  <dennda> I assume he got that from my code
2008-08-08T21:46:03  <dennda> tbh, I didn't think about 2.3 compatibility when writing that
2008-08-08T21:46:29  <ThomasWaldmann> well, installing and using 2.3 and you would have to think less :)
2008-08-08T21:47:15  <dennda> I doubt there is a 2.3 package for arch though :/
2008-08-08T21:47:22  <dennda> Will check how to install that manually
2008-08-08T21:48:37  <PawelPacana>  ok. i'll test on 2.3 from now on
2008-08-08T21:48:49  <PawelPacana> and change this sort soon
2008-08-08T21:48:59  <ThomasWaldmann> just do a /usr/local/ install from source
2008-08-08T21:49:05  <dennda> PawelPacana: Ping me when you did
2008-08-08T21:49:13  <PawelPacana> dennda: ok
2008-08-08T21:49:15  <xorAxAx> or an /opt/py23 install :)
2008-08-08T21:49:22  <PawelPacana> gtg for a while
2008-08-08T21:50:49  <dennda> Hm, I'd like it not to replace my normal python installation that comes from the repo. How would I best do that /opt/py23 installation?
2008-08-08T21:51:04  <xorAxAx> dennda: less INSTALLING
2008-08-08T21:51:08  <xorAxAx> or something like that :)
2008-08-08T21:51:16  <xorAxAx> its always the same for every unix program
2008-08-08T21:53:58  <xorAxAx> (thats why learning it pays off well :))
2008-08-08T21:56:32  <dennda> make altinstall
2008-08-08T21:59:31  <ThomasWaldmann> also wenn man ein altes python will, nimmt man altinstall :P
2008-08-08T22:00:06  <dennda> How to best tell moin to use python 2.3? I would usually adjust the shebang-line in wikiserver.py, but I don't want to commit that change
2008-08-08T22:00:24  <dennda> I doubt it is sufficient to just use another shebang in wikiconfig_local.py :)
2008-08-08T22:00:39  <dennda> eher make ancientinstall :)
2008-08-08T22:01:15  <xorAxAx> dennda: how about a small shell script?
2008-08-08T22:01:32  <dennda> like?
2008-08-08T22:01:44  * dennda doesn't know bash script at all
2008-08-08T22:01:44  <xorAxAx> /.../py2.3 mywiki.py
2008-08-08T22:01:59  <dennda> well sure
2008-08-08T22:02:32  <dennda> python2.3 wikiserver.py
2008-08-08T22:02:32  <xorAxAx> so?
2008-08-08T22:02:44  <dennda> nevermind
2008-08-08T22:05:41  <dennda> heh @staticmethod  # TODO: Write own "decorator" for 2.3 compatibility
2008-08-08T22:06:23  <xorAxAx> the person meant descriptor proabably?
2008-08-08T22:06:36  <dennda> the person is me
2008-08-08T22:06:47  <dennda> and I was under the impression those things are called decorators
2008-08-08T22:08:23  <TheSheep> dennda: are there decorators in 2.3?
2008-08-08T22:08:30  <dennda> TheSheep: no
2008-08-08T22:08:57  <dennda> that's why I need to replace that by something equivalent
2008-08-08T22:09:00  <TheSheep> dennda: they are, just no pretty syntax for them
2008-08-08T22:09:07  <dennda> yes
2008-08-08T22:09:10  <TheSheep> dennda: sorry, didn't check :)
2008-08-08T22:09:22  <dennda> just looking up what the equivalent of that'd be
2008-08-08T22:12:51  <TheSheep> dennda:   def function...; function = decorator(function)
2008-08-08T22:14:25  <dennda> where decorator is another method that must be defined, right?
2008-08-08T22:14:38  <xorAxAx> dennda: its the third time that you ask this in the channel
2008-08-08T22:15:55  <xorAxAx> (at least)
2008-08-08T22:15:58  <xorAxAx> i just checked the logs
2008-08-08T22:16:41  <xorAxAx> and no, the decorating function is usually a function - what sense would a method make?
2008-08-08T22:17:44  <xorAxAx> maybe you are stressed ... just wondering why this question comes up so often
2008-08-08T22:19:01  <dennda> yes, function of course
2008-08-08T22:20:31  <dennda> I guess because I didn't fully understand the subject. More specifically, how to handle parameter lists of unknown length. I guess *args and **kwargs is what one would need in that case (generally speaking)
2008-08-08T22:21:04  <xorAxAx> which parameter list do you mean?
2008-08-08T22:21:25  <xorAxAx> (there are a few of them involved)
2008-08-08T22:21:27  <dennda> of the method to be decorated
2008-08-08T22:21:42  <dennda> (this time, it is a method)
2008-08-08T22:22:21  <xorAxAx> yes, you often dont know the signature of the wrapped function
2008-08-08T22:22:28  <xorAxAx> or method. thats why *args, **kwargs is handy
2008-08-08T22:22:35  <xorAxAx> in the signature of the wrapper
2008-08-08T22:22:46  <dennda> yes, that's what I meant. I know it exists, I just havn't used it yet
2008-08-08T22:25:18  <dennda> hm
2008-08-08T22:25:27  <dennda> not too trivial for my tiny little mind %-)
2008-08-08T22:25:42  <xorAxAx> what is not trivial?
2008-08-08T22:25:56  <dennda> coming up with a replacement
2008-08-08T22:26:03  <xorAxAx> for what?
2008-08-08T22:26:24  <dennda> the use of that @staticmethod syntactic sugar
2008-08-08T22:26:30  <xorAxAx> sigh
2008-08-08T22:26:41  <xorAxAx> its as trivial as we wrote 3 times already
2008-08-08T22:26:55  <xorAxAx> its just a function call
2008-08-08T22:27:06  <xorAxAx> of a function that is in 2.3 even, staticmethod
2008-08-08T22:27:16  <xorAxAx> and there are no * or ** involved
2008-08-08T22:27:36  <dennda> ah that method exists?
2008-08-08T22:27:41  <xorAxAx> ???
2008-08-08T22:27:45  <dennda> function
2008-08-08T22:27:47  <xorAxAx> the signature of staticmethod is callable -> descriptor
2008-08-08T22:27:56  <xorAxAx> dennda: yes, even in 2.3
2008-08-08T22:28:08  <dennda> ah!
2008-08-08T22:29:22  <dennda> boy
2008-08-08T22:29:28  <dennda> I'm stupid sometimes
2008-08-08T22:29:38  <dennda> I was under the impression that "staticmethod" itself isn't part of 2.3
2008-08-08T22:29:41  <dennda> thanks
2008-08-08T22:31:29  <dennda> re-binding the method_name to decorator(method_name) isn't too hard, that's true. I was more wondering how to implement staticmethod itself :)
2008-08-08T22:32:52  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4682:2322969fef28 1.8-storage-cdenter/MoinMoin/Page.py: storage: Page.py: Replace decorator-syntax as it is not available in python 2.3
2008-08-08T22:33:24  <dennda> thus the confusion... sorry
2008-08-08T22:36:19  <dennda> brb
2008-08-08T23:03:28  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4686:b8acbcad8a54 1.8-mercurialbackend-ppacana/MoinMoin/script/migration/backend.py: (migration) 2.3-compatible sort.
2008-08-08T23:03:30  <CIA-53> Pawel Pacana <pawel.pacana@gmail.com> default * 4690:b048b9cce661 1.8-mercurialbackend-ppacana/MoinMoin/ (Page.py storage/backends/memory.py): Merge with 1.8-storage-cdenter.
2008-08-08T23:05:13  <PawelPacana> dennda: ^^^
2008-08-08T23:06:19  <dennda> seen
2008-08-08T23:09:09  <dennda> oha
2008-08-08T23:10:04  <dennda> Who said reverse isn't in 2.3?
2008-08-08T23:10:17  <dennda> my interactive python 2.3 interpreter acceppts [].reverse
2008-08-08T23:11:09  * ThomasWaldmann buys a D
2008-08-08T23:12:34  <dennda> ?
2008-08-08T23:12:44  <dennda> I used [].reverse()
2008-08-08T23:13:12  * dennda reverts his bogus 2.3 compatibility changeset
2008-08-08T23:14:14  <PawelPacana> dennda: reversed()
2008-08-08T23:15:03  <dennda> yes, got that now. confused it
2008-08-08T23:16:55  <dennda> PawelPacana: Your sort always compares two elements and puts them in right order?
2008-08-08T23:19:46  <PawelPacana> true
2008-08-08T23:20:33  <dennda> PawelPacana: does wikiserver run for you with 2.3?
2008-08-08T23:22:24  <PawelPacana> actually no, it collapsed on some syntax error in pycdb
2008-08-08T23:22:28  <dennda> yes
2008-08-08T23:22:30  <dennda> I get that too
2008-08-08T23:22:39  <PawelPacana> from moin support
2008-08-08T23:22:47  <dennda> I already wondered how I caused that
2008-08-08T23:23:24  <PawelPacana> dennda: you asked for that before http://paste.pocoo.org/show/1Ttx7euKCfnP4GIWaeH4/ (migration to memory)
2008-08-08T23:23:56  <dennda> ah that is nice and clean
2008-08-08T23:23:58  <dennda> thanks
2008-08-08T23:24:07  <dennda> I will examine my memorybackend then :)
2008-08-08T23:24:37  <dennda> funny thing is, that syntax error doesn't occurr with 2.5
2008-08-08T23:25:02  <PawelPacana> in 2.4 either,
2008-08-08T23:30:14  <dennda> hm by just looking at the lines in that traceback I cannot find anything strange
2008-08-08T23:31:25  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4683:a8bea99648b0 1.8-storage-cdenter/MoinMoin/storage/backends/memory.py: storage: backends/memory: replace 2.3-incompatible list.sort() call with a compatible one. revert bogus 2.3 compatibility issue that turned out not to be an issue
2008-08-08T23:33:47  <dennda> PawelPacana: /msg nickserv help ghost
2008-08-08T23:36:12  <PawelPacana> thanks
2008-08-08T23:37:05  <CIA-53> Christopher Denter <moin GUESSWHAT the DASH space DASH station ROUNDTHING com> default * 4692:23787cd402d7 1.8-storage-cdenter/MoinMoin/ (3 files in 3 dirs): Merge 1.8-mercurialbackend-ppacana
2008-08-08T23:40:04  <dennda> PawelPacana: Did you try running my memorybackend pimped with underlay? :)
2008-08-08T23:41:24  <PawelPacana> no, just with my personal wiki data
2008-08-08T23:41:38  <dennda> Do you get the proper FrontPage?
2008-08-08T23:42:03  <PawelPacana> sure
2008-08-08T23:42:09  <dennda> I don't
2008-08-08T23:43:15  <dennda> (FrontPage from underlay, that is)
2008-08-08T23:43:42  <dennda> RC does load, but slowly and it shows the same timestamp for every page
2008-08-08T23:44:56  <PawelPacana> i have FrontPage
2008-08-08T23:45:01  <PawelPacana> but RC is empty
2008-08-08T23:45:12  <dennda> with your backend?
2008-08-08T23:45:20  <dennda> shouldn't matter which backend is used, actually, should it?
2008-08-08T23:46:39  <PawelPacana> but if i put <<RecentChanges>> it does perform well and shows accurate timestamps
2008-08-08T23:47:10  <dennda> strange
2008-08-08T23:47:23  <PawelPacana> at least for non-underlay
2008-08-08T23:47:32  <dennda> try with underlay :)
2008-08-08T23:49:00  <PawelPacana> because FrontPage, BadContent, StronaGłówna, BrudnopisWiki have the same timestamp..
2008-08-08T23:49:30  <dennda> sure, the question is: why is that?
2008-08-08T23:54:06  <ThomasWaldmann> IOError: [Errno 24] Too many open files: '/home/moin/moin-1.8-storage/output/pages/name-mapping'
2008-08-08T23:54:25  <ThomasWaldmann> happens when trying to migrate moinmo.in from fs17 to fs
2008-08-08T23:54:36  <dennda> yes, just had the same problem
2008-08-08T23:56:20  <dennda> disclaimer: I am absolutely no expert wrt johills backend or garbage-collection / file-descriptors, but maybe the gc is too slow and the migration script is too fast
2008-08-08T23:56:41  <ThomasWaldmann>   File "/home/moin/moin-1.8-storage/MoinMoin/storage/backends/flatfile.py", line 117, in _create_revision
2008-08-08T23:56:44  <ThomasWaldmann> AssertionError
2008-08-08T23:57:57  * ThomasWaldmann wont try memory :)
2008-08-08T23:58:23  <dennda> heh
2008-08-08T23:58:29  <dennda> no such errors at least

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