From brian at dorseys.org Tue Jan 8 09:51:03 2002 From: brian at dorseys.org (Brian Dorsey) Date: Tue Jan 8 09:51:03 2002 Subject: [Moin-devel] Re: [Moin-user] long delays with CVS snapshot In-Reply-To: <16Ma1x-2L94XgC@fwd11.sul.t-online.com>; from j.her@t-online.de on Fri, Jan 04, 2002 at 08:29:42PM +0100 References: <20020104110156.D8175@dorseys.org> <16Ma1x-2L94XgC@fwd11.sul.t-online.com> Message-ID: <20020108094957.A3824@dorseys.org> The print >>sys.stderr trick does work fine from wikiaction.py and several others. I'm not sure what I was doing wrong the first time, but it works great. I'm now tracing the execution down into the __init__ of cgi.FieldStorage.... I'm not sure how far to trace this down... When I try to do a search from the main page, this is what I get: ===================== cgimain: after parsing cgimain: before handling request cgimain: after handling request, before action action = inlinesearch cgimain: if action cgimain: after set handler handler = cgimain: if handler is true, executing handler wikiaction.do_inlinesearch entered wikiaction.do_inlinesearch end wikiaction.do_titlesearch begin wikiaction.do_titlesearch check wikiutil.send_footer begin wikiutil.send_footer start check keywords.get('form') = FieldStorage(None, None, [MiniFieldStorage('action', 'in linesearch'), MiniFieldStorage('text_title', 'search'), MiniFieldStorage('button _title.x', '0'), MiniFieldStorage('button_title.y', '0')]) cgi.FieldStorage.__init__() begin And we never return from __init__. Here is the last line run in MoinMoin code (from wikiutil.py send_footer) : form = keywords.get('form', cgi.FieldStorage()) I'm not sure where to go from here... are the contents of the keywords[form] OK? Should I keep troubleshooting in MoinMoin, or cgi.py? Take care, -Brian ========================================== For more context: if keywords.get('showpage', 0): print link_tag(quoteWikiname(pagename), _("ShowText")) print _('of this page'), '
' if keywords.get('editable', 1) and user.current.may.edit: print link_tag(quoteWikiname(pagename)+'?action=edit', _('EditText')) print _('of this page') if mod_string: print _("(last modified %s)") % mod_string print '
' print >>sys.stderr, "wikiutil.send_footer start check " print >>sys.stderr, "keywords.get('form') = ", print >>sys.stderr, keywords.get('form') sys.stderr.flush() form = keywords.get('form', cgi.FieldStorage()) print >>sys.stderr, "wikiutil.send_footer end check " sys.stderr.flush() searchfield = ( '' '' ) % config.url_prefix On Fri, Jan 04, 2002 at 08:29:42PM +0100, Juergen Hermann wrote: > On Fri, 4 Jan 2002 11:01:56 -0800, Brian Dorsey wrote: > > >The print trick isn't working from within wikiaction.py... stderr probably isn't connected to err_log? > > Sounds strange. Say, you DO run this as cgi, and not in some IIS > persistent mode, do you? > > You can try cgi.logfile instead. > > And, after the http headers and are sent, you can use normal > prints to stdout (again, with flush). > > >Should we move this discussion to the Moin developer list instead? > > Yeah, do so. > > Ciao, J?rgen > From jh at web.de Tue Jan 8 11:09:11 2002 From: jh at web.de (Juergen Hermann) Date: Tue Jan 8 11:09:11 2002 Subject: [Moin-devel] Re: [Moin-user] long delays with CVS snapshot In-Reply-To: <20020108094957.A3824@dorseys.org> Message-ID: On Tue, 8 Jan 2002 09:49:57 -0800, Brian Dorsey wrote: >I'm not sure where to go from here... are the contents of the keywords [form] OK? Should I keep troubleshooting in MoinMoin, or cgi.py? No, that explains the effect, expect a fix. Ciao, J?rgen From brian at dorseys.org Tue Jan 8 22:33:03 2002 From: brian at dorseys.org (Brian Dorsey) Date: Tue Jan 8 22:33:03 2002 Subject: [Moin-devel] Re: [Moin-user] long delays with CVS snapshot In-Reply-To: ; from jh@web.de on Tue, Jan 08, 2002 at 08:08:49PM +0100 References: <20020108094957.A3824@dorseys.org> Message-ID: <20020108223245.A14373@dorseys.org> Great! Thanks for helping me along as I fumbled with it. Take care, -Brian On Tue, Jan 08, 2002 at 08:08:49PM +0100, Juergen Hermann wrote: > On Tue, 8 Jan 2002 09:49:57 -0800, Brian Dorsey wrote: > > >I'm not sure where to go from here... are the contents of the keywords > [form] OK? Should I keep troubleshooting in MoinMoin, or cgi.py? > > No, that explains the effect, expect a fix. > > > Ciao, J?rgen > > > > _______________________________________________ > Moin-devel mailing list > Moin-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/moin-devel From jh at web.de Wed Jan 9 10:21:05 2002 From: jh at web.de (Juergen Hermann) Date: Wed Jan 9 10:21:05 2002 Subject: [Moin-devel] Re: [Moin-user] long delays with CVS snapshot In-Reply-To: <20020108223245.A14373@dorseys.org> Message-ID: On Tue, 8 Jan 2002 22:32:45 -0800, Brian Dorsey wrote: >Great! This is fixed in CVS, please validate it. Ciao, J?rgen From brian at dorseys.org Wed Jan 9 12:10:36 2002 From: brian at dorseys.org (Brian Dorsey) Date: Wed Jan 9 12:10:36 2002 Subject: [Moin-devel] Re: [Moin-user] long delays with CVS snapshot In-Reply-To: ; from jh@web.de on Wed, Jan 09, 2002 at 07:20:38PM +0100 References: <20020108223245.A14373@dorseys.org> Message-ID: <20020109120342.A22382@dorseys.org> I just installed and tested it. My delays with searching and saving pages are gone! Thanks a bunch! -Brian On Wed, Jan 09, 2002 at 07:20:38PM +0100, Juergen Hermann wrote: > On Tue, 8 Jan 2002 22:32:45 -0800, Brian Dorsey wrote: > > >Great! > > This is fixed in CVS, please validate it. > > > Ciao, J?rgen > > > > _______________________________________________ > Moin-devel mailing list > Moin-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/moin-devel From jeff at corrt.com Fri Jan 11 08:01:03 2002 From: jeff at corrt.com (Jeff Kunce) Date: Fri Jan 11 08:01:03 2002 Subject: [Moin-devel] 0.11 schedule In-Reply-To: References: <20020108094957.A3824@dorseys.org> Message-ID: <3.0.2.32.20020111095236.009f1740@corrt.com> Is there a projected release date for 0.11? I'm in no hurry, but a rough idea would help me in planning conversions, etc. Thanks. --Jeff From jh at web.de Fri Jan 11 12:18:43 2002 From: jh at web.de (Juergen Hermann) Date: Fri Jan 11 12:18:43 2002 Subject: [Moin-devel] 0.11 schedule In-Reply-To: <3.0.2.32.20020111095236.009f1740@corrt.com> Message-ID: On Fri, 11 Jan 2002 09:52:36 -0600, Jeff Kunce wrote: >Is there a projected release date for 0.11? I'm in no hurry, >but a rough idea would help me in planning conversions, etc. I'm down to fixing the url escaping, and docs. Ciao, J?rgen From showell at zipcon.com Sun Jan 13 09:23:03 2002 From: showell at zipcon.com (Steve Howell) Date: Sun Jan 13 09:23:03 2002 Subject: [Moin-devel] SeaPig WebLog features and timestamp readability in edit mode Message-ID: <3C41C10F.D75E0ED8@zipcon.com> Brian Dorsey and I did some pairing the other night on MoinMoin. We were brainstorming on all sorts of ideas, and we spontaneously started writing a BlogEdit action. We want to contribute BlogEdit to MoinMoin, but it probably duplicates or parallels current work on WebLogs. BlogEdit is an extremely minimalist action. It basically wraps the EditText functionality, and it prepends a date tag, and a little comment marker that delimits the blog entry. You can see the code here, and you might also want to go to our blog sandbox to try it out: http://www.zipcon.net/~showell/cgi-bin/MoinMoin/moin.py/BlogEdit This page resides on the Seattle Python Interest Group (SeaPig) wiki. Our next feature will be to show all recent blog entries for the entire Wiki (or all blog entries among a subset of Wiki pages matching a regex). This feature would rely on all blog entries having a consistent marker. For example, here is what SandBoxBlog looks like now when you go to edit it: ================================== ##BEGIN BLOG '''2002-01-13 09:05''' So I was typing in the sandbox one day, and I couldn't really think of anything witty or amusing to say. Oh well. ##------------------------------------ Try blogging here. =================================== The feature to show all recent blog entries would probably be a macro. We might show the last 10 entries. You can see that the date for SeaPig's SandBoxBlog entry is just an ordinary string. This works fine for our Wiki, since we're all on Seattle time, but we want to do internationalization. In fact, Brian and I implemented BlogEdit with the new @TIME@ feature on his machine, but I had to back it out on SeaPig, because I don't have the latest version. Even with the @TIME@ feature, though, I am not completely satisfied. I don't like how @TIME@ replaces itself with seconds-since-whenever. When you go to edit a page, you can't really determine the dates of prior entries. Brian and I are considering a variation like this: [[Time('2002-01-13 09:15', '%Y-%m-%D %H:%M', -9)]] This marker says that the @TIME@ macro was expanded at 2002-01-13 09:15 local time when some one edited the page from a time zone that was 9 hours behind Greenwhich Mean Time. When MoinMoin goes to expand the macro for, say, somebody, in Germany, it would have to do two steps. First, it would convert the American time back to GMT. Second, it would recalculate/reformat the time for the German user. I understand that this complicates things a bit, but it makes it easier for folks to go back and clean up their web logs. For example, people might decide to archive after every month, and it would be helpful in edit mode to see the timestamps. From jh at web.de Mon Jan 14 13:05:04 2002 From: jh at web.de (Juergen Hermann) Date: Mon Jan 14 13:05:04 2002 Subject: [Moin-devel] SeaPig WebLog features and timestamp readability in edit mode In-Reply-To: <3C41C10F.D75E0ED8@zipcon.com> Message-ID: On Sun, 13 Jan 2002 09:17:03 -0800, Steve Howell wrote: >[[Time('2002-01-13 09:15', '%Y-%m-%D %H:%M', -9)]] This is too complicated, the macros now accept a W3C date, and the variables are generated as such, i.e. [[Date(2002-01-14T21:46:23)]] Ciao, J?rgen From brian at dorseys.org Mon Jan 14 14:16:06 2002 From: brian at dorseys.org (Brian Dorsey) Date: Mon Jan 14 14:16:06 2002 Subject: [Moin-devel] SeaPig WebLog features and timestamp readability in edit mode In-Reply-To: ; from jh@web.de on Mon, Jan 14, 2002 at 10:04:59PM +0100 References: <3C41C10F.D75E0ED8@zipcon.com> Message-ID: <20020114141453.A18015@dorseys.org> On Mon, Jan 14, 2002 at 10:04:59PM +0100, Juergen Hermann wrote: > On Sun, 13 Jan 2002 09:17:03 -0800, Steve Howell wrote: > > >[[Time('2002-01-13 09:15', '%Y-%m-%D %H:%M', -9)]] > > This is too complicated, the macros now accept a W3C date, and the > variables are generated as such, i.e. > > [[Date(2002-01-14T21:46:23)]] > I just checked this out of CVS and it looks great. It's much cleaner looking than our idea, but keeps the user ability to set their own time. Yeah! From jh at web.de Mon Jan 14 15:25:01 2002 From: jh at web.de (Juergen Hermann) Date: Mon Jan 14 15:25:01 2002 Subject: [Moin-devel] SeaPig WebLog features and timestamp readability in edit mode In-Reply-To: <20020114141453.A18015@dorseys.org> Message-ID: On Mon, 14 Jan 2002 14:14:53 -0800, Brian Dorsey wrote: >I just checked this out of CVS and it looks great. It's much cleaner looking than our idea, but keeps the user ability to set their own time. The rule for date handling used consistently in all of the code is to store _everything_ in the server's local time, and work things out from there. Ciao, J?rgen From stefan.schwarzer at tu-clausthal.de Tue Jan 15 09:57:02 2002 From: stefan.schwarzer at tu-clausthal.de (Stefan Schwarzer) Date: Tue Jan 15 09:57:02 2002 Subject: [Moin-devel] moin-dump tries to copy wrong index file Message-ID: Hello J?rgen, Some comments: - During the installation with DistUtils the #! lines in moin-dump and moin-create were adapted to the location of the Python binary but in moin.cgi and test.cgi not. - I tried to export a Wiki with moin-dump and observed the following: - Export of two pages raised exceptions: HelpOnXmlPages.html and XsltVersion.html - Copying of the FrontPage file to index.html failed because the source hadn't .html appended: Traceback (most recent call last): File "../moin-dump", line 3, in ? File "/srv/idw3/opt/moinmoin/lib/python2.2/site-packages/MoinMoin/scripts/moin_dump.py", line 167, in run File "/srv/idw3/opt/moinmoin/lib/python2.2/site-packages/MoinMoin/scripts/_util.py", line 70, in runMain File "/srv/idw3/opt/moinmoin/lib/python2.2/site-packages/MoinMoin/scripts/moin_dump.py", line 160, in main File "/srv/idw3/opt/python/lib/python2.2/shutil.py", line 28, in copyfile fsrc = open(src, 'rb') IOError: [Errno 2] No such file or directory: '/srv/idw3/opt/moinmoin/bin/tmp/FrontPage' I looked at MoinMoin/scripts/moin_dump.py and have made the following patch. Note that wikiutil.quoteFilename in the last lines has changed to wikiutil.quoteWikiname . Why do you assign qfn_html to wikiutil.quoteWikiname instead of using qfn_html directly? I suspect, because wikiutil.quoteWikiname is used in page.send_page(form) ? Stefan *** moin_dump_orig.py Thu Jan 3 13:51:21 2002 --- moin_dump.py Tue Jan 15 18:42:45 2002 *************** *** 23,31 **** ### Helpers ############################################################################# - ############################################################################# ### Main program ############################################################################# --- 23,31 ---- ### Helpers ############################################################################# + HTML_SUFFIX = ".html" # perhaps put this in config.py as html_suffix? ############################################################################# ### Main program ############################################################################# *************** *** 125,136 **** pages = list(wikiutil.getPageList(config.text_dir)) pages.sort() ! qfn_html = lambda pagename, qfn=wikiutil.quoteWikiname: qfn(pagename) + ".html" #wikiutil.quoteFilename = qfn_html wikiutil.quoteWikiname = qfn_html for pagename in pages: ! file = wikiutil.quoteFilename(pagename) + ".html" _util.log('Writing "%s"...' % file) filepath = os.path.join(outputdir, file) out = open(filepath, 'w') --- 125,137 ---- pages = list(wikiutil.getPageList(config.text_dir)) pages.sort() ! qfn_html = lambda pagename, qfn=wikiutil.quoteWikiname: qfn(pagename) + \ ! HTML_SUFFIX #wikiutil.quoteFilename = qfn_html wikiutil.quoteWikiname = qfn_html for pagename in pages: ! file = wikiutil.quoteFilename(pagename) + HTML_SUFFIX _util.log('Writing "%s"...' % file) filepath = os.path.join(outputdir, file) out = open(filepath, 'w') *************** *** 156,163 **** # copy FrontPage to "index.html" import shutil shutil.copyfile( ! os.path.join(outputdir, wikiutil.quoteFilename(config.page_front_page)), ! os.path.join(outputdir, 'index.html') ) --- 157,164 ---- # copy FrontPage to "index.html" import shutil shutil.copyfile( ! os.path.join(outputdir, wikiutil.quoteWikiname(config.page_front_page)), ! os.path.join(outputdir, 'index' + HTML_SUFFIX) ) From stefan.schwarzer at tu-clausthal.de Tue Jan 15 10:11:03 2002 From: stefan.schwarzer at tu-clausthal.de (Stefan Schwarzer) Date: Tue Jan 15 10:11:03 2002 Subject: [Moin-devel] Re: moin-dump tries to copy wrong index file In-Reply-To: Message-ID: Hello again, On Tue, 15 Jan 2002, Stefan Schwarzer wrote: > Note that wikiutil.quoteFilename in the last lines has changed to > wikiutil.quoteWikiname . --- from moin_dump.py (with my patch) --- | qfn_html = lambda pagename, qfn=wikiutil.quoteWikiname: qfn(pagename) + \ | HTML_SUFFIX | #wikiutil.quoteFilename = qfn_html | wikiutil.quoteWikiname = qfn_html | | for pagename in pages: | file = wikiutil.quoteFilename(pagename) + HTML_SUFFIX I just became aware that you use quoteFilename+HTML_SUFFIX here, actually. So, for symmetry, my change should also be shutil.copyfile( os.path.join(outputdir, wikiutil.quoteFilename(config.page_front_page) + HTML_SUFFIX), os.path.join(outputdir, 'index' + HTML_SUFFIX) ) instead of my earlier mentioned shutil.copyfile( os.path.join(outputdir, wikiutil.quoteWikiname(config.page_front_page)), os.path.join(outputdir, 'index' + HTML_SUFFIX) ) --- from wikiutil.py --- | ############################################################################# | ### Quoting | ############################################################################# | | def quoteFilename(filename): | safe = string.letters + string.digits | res = list(filename) | for i in range(len(res)): | c = res[i] | if c not in safe: | res[i] = '_%02x' % ord(c) | return string.joinfields(res, '') | | | def unquoteFilename(filename): | return urllib.unquote(string.replace(filename, '_', '%')) | | | quoteWikiname = quoteFilename | unquoteWikiname = unquoteFilename Currently, quoteFilename and quoteWikiname are the same (if ignoring your change in moin_dump.py). However, you probably had a reason to use two different names. :-) I don't understand fully why you (in moin_dump.py) once use quoteFilename and in another instance quoteWikiname. Stefan From j.her at t-online.de Tue Jan 15 10:42:05 2002 From: j.her at t-online.de (Juergen Hermann) Date: Tue Jan 15 10:42:05 2002 Subject: [Moin-devel] Re: moin-dump tries to copy wrong index file In-Reply-To: Message-ID: <16QYW7-1io7mqC@fwd04.sul.t-online.com> On Tue, 15 Jan 2002 19:10:12 +0100 (MET), Stefan Schwarzer wrote: >I just became aware that you use quoteFilename+HTML_SUFFIX here, >actually. So, for symmetry, my change should also be I already applied it that way. >Currently, quoteFilename and quoteWikiname are the same (if ignoring >your change in moin_dump.py). However, you probably had a reason to >use two different names. :-) Yes, to demonstrate my god-like status as a developer and refactoring oracle. ;O) Exactly this enabled the relative ease of implementation of the dumper. > I don't understand fully why you (in >moin_dump.py) once use quoteFilename and in another instance >quoteWikiname. One is for links, the other for file system accesses. The code is a consequence of this rule. Ciao, J?rgen From jh at web.de Tue Jan 15 10:46:02 2002 From: jh at web.de (Juergen Hermann) Date: Tue Jan 15 10:46:02 2002 Subject: [Moin-devel] moin-dump tries to copy wrong index file In-Reply-To: Message-ID: On Tue, 15 Jan 2002 18:55:56 +0100 (MET), Stefan Schwarzer wrote: >- During the installation with DistUtils the #! lines in moin-dump and > moin-create were adapted to the location of the Python binary but in > moin.cgi and test.cgi not. That is because the latter are not installed as scripts. "moin-create" will do that. > - Export of two pages raised exceptions: HelpOnXmlPages.html and > XsltVersion.html You have no 4Suite. An error.log is now created. > - Copying of the FrontPage file to index.html failed because the > source hadn't .html appended: Fixed. > Why do you assign qfn_html to wikiutil.quoteWikiname instead of > using qfn_html directly? I suspect, because wikiutil.quoteWikiname > is used in page.send_page(form) ? Yes. Ciao, J?rgen From brian at dorseys.org Sat Jan 19 20:37:02 2002 From: brian at dorseys.org (Brian Dorsey) Date: Sat Jan 19 20:37:02 2002 Subject: [Moin-devel] Parsing wikimarkup from within a macro. Message-ID: <20020119203626.A11166@dorseys.org> Hi everyone! I've been working with some other people in the Seattle Python Users group to make a few actions & macros for MoinMoin. It's been great fun, and we've made someinteresting stuff so far. It looks like a lot of the macros which come with MoinMoin are using macro.formatter.*method* to output little sections of html. It seems like it would be easier for us to output wiki markup and let MoinMoin code handle the rendering to html. We poked around a bit and found something that works... but somehow it doesn't seem like we're using the objects the way they were ment to be used. Here is a sample: from MoinMoin.parser.wiki import Parser def execute(macro, args): fakeForm = {} text = " * Some wiki markup\n * some more" return Parser(text).format(macro.formatter, fakeForm ) Is there a better way to do this? Take care, -Brian From noreply at sourceforge.net Sun Jan 20 02:59:01 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:01 2002 Subject: [Moin-devel] [ moin-Bugs-498297 ] stray tags in userform.py Message-ID: Bugs item #498297, was opened at 2002-01-01 05:32 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=498297&group_id=8482 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: stray tags in userform.py Initial Comment: In MoinMoin 0.10, In userform.py, line 194... There are stray tags just after the tag, making wierd effect when whole MoinMoin page is included inside a table. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=498297&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:02 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:02 2002 Subject: [Moin-devel] [ moin-Bugs-498297 ] stray tags in userform.py Message-ID: Bugs item #498297, was opened at 2002-01-01 05:32 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=498297&group_id=8482 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: stray tags in userform.py Initial Comment: In MoinMoin 0.10, In userform.py, line 194... There are stray tags just after the tag, making wierd effect when whole MoinMoin page is included inside a table. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=498297&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:02 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:02 2002 Subject: [Moin-devel] [ moin-Feature Requests-498569 ] fold case in WordIndex, TitleIndex Message-ID: Feature Requests item #498569, was opened at 2002-01-02 07:58 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=358482&aid=498569&group_id=8482 Category: None Group: None Status: Open Priority: 5 Submitted By: Daniel Drucker (placain) Assigned to: Nobody/Anonymous (nobody) Summary: fold case in WordIndex, TitleIndex Initial Comment: It would be good if case could be folded in TitleIndex and WordIndex. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=358482&aid=498569&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:02 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:02 2002 Subject: [Moin-devel] [ moin-Feature Requests-498569 ] fold case in WordIndex, TitleIndex Message-ID: Feature Requests item #498569, was opened at 2002-01-02 07:58 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=358482&aid=498569&group_id=8482 Category: None Group: None Status: Open Priority: 5 Submitted By: Daniel Drucker (placain) Assigned to: Nobody/Anonymous (nobody) Summary: fold case in WordIndex, TitleIndex Initial Comment: It would be good if case could be folded in TitleIndex and WordIndex. ---------------------------------------------------------------------- >Comment By: Daniel Drucker (placain) Date: 2002-01-02 08:41 Message: Logged In: YES user_id=41432 153c153 < pages.sort() --- > pages.sort(lambda x, y: cmp(string.lower(x), string.lower(y))) 156c156 < letter = name[0] --- > letter = name[0].upper() ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=358482&aid=498569&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:02 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:02 2002 Subject: [Moin-devel] [ moin-Patches-504279 ] text for m17n: Korean euc-kr Message-ID: Patches item #504279, was opened at 2002-01-16 01:30 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504279&group_id=8482 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Hye-Shik Chang (perky) Assigned to: Nobody/Anonymous (nobody) Summary: text for m17n: Korean euc-kr Initial Comment: MoinMoin/i18n/ko.py for Korean ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504279&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:03 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:03 2002 Subject: [Moin-devel] [ moin-Bugs-491153 ] spaces in interwiki links Message-ID: Bugs item #491153, was opened at 2001-12-10 06:58 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=491153&group_id=8482 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Daniel Drucker (placain) Assigned to: J?rgen Hermann (jhermann) Summary: spaces in interwiki links Initial Comment: It is currently not possible to make an interwiki link to a page with spaces in it, as the percent in %20 gets escaped. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=491153&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:03 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:03 2002 Subject: [Moin-devel] [ moin-Patches-504279 ] text for m17n: Korean euc-kr Message-ID: Patches item #504279, was opened at 2002-01-16 01:30 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504279&group_id=8482 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Hye-Shik Chang (perky) Assigned to: Nobody/Anonymous (nobody) Summary: text for m17n: Korean euc-kr Initial Comment: MoinMoin/i18n/ko.py for Korean ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504279&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:03 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:03 2002 Subject: [Moin-devel] [ moin-Bugs-491155 ] FrontPage hardcoded Message-ID: Bugs item #491155, was opened at 2001-12-10 07:02 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=491155&group_id=8482 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Daniel Drucker (placain) Assigned to: J?rgen Hermann (jhermann) Summary: FrontPage hardcoded Initial Comment: The string "FrontPage" is hardcoded some places (like config). Reference instead should be made to the page_front_page value. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=108482&aid=491155&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:03 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:03 2002 Subject: [Moin-devel] [ moin-Patches-504749 ] broken characters on i18n/ko.py Message-ID: Patches item #504749, was opened at 2002-01-16 21:49 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504749&group_id=8482 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Hye-Shik Chang (perky) Assigned to: Nobody/Anonymous (nobody) Summary: broken characters on i18n/ko.py Initial Comment: Thanks for commit. ;) Excuse me, but some character was broken while I upload. Please patch with this. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504749&group_id=8482 From noreply at sourceforge.net Sun Jan 20 02:59:03 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Sun Jan 20 02:59:03 2002 Subject: [Moin-devel] [ moin-Patches-505929 ] Auto merging on saving by many Message-ID: Patches item #505929, was opened at 2002-01-19 18:06 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=505929&group_id=8482 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Hye-Shik Chang (perky) Assigned to: Nobody/Anonymous (nobody) Summary: Auto merging on saving by many Initial Comment: merge them! ;) I think this feature is useful as non-default option. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=505929&group_id=8482 From noreply at sourceforge.net Mon Jan 21 12:50:03 2002 From: noreply at sourceforge.net (noreply at sourceforge.net) Date: Mon Jan 21 12:50:03 2002 Subject: [Moin-devel] [ moin-Patches-504749 ] broken characters on i18n/ko.py Message-ID: Patches item #504749, was opened at 2002-01-16 21:49 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504749&group_id=8482 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Hye-Shik Chang (perky) Assigned to: Nobody/Anonymous (nobody) Summary: broken characters on i18n/ko.py Initial Comment: Thanks for commit. ;) Excuse me, but some character was broken while I upload. Please patch with this. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=308482&aid=504749&group_id=8482 From jhermann at users.sourceforge.net Mon Jan 21 14:39:34 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Mon Jan 21 14:39:34 2002 Subject: [Moin-devel] CVS: MoinMoin version.py,1.148,1.149 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv28452 Modified Files: version.py Log Message: Bumped revision Index: version.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/version.py,v retrieving revision 1.148 retrieving revision 1.149 diff -C2 -r1.148 -r1.149 From jhermann at users.sourceforge.net Tue Jan 22 12:20:06 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Jan 22 12:20:06 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.55,1.56 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv29742 Modified Files: CHANGES Log Message: Added config.title1/2 Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -r1.55 -r1.56 *** CHANGES 2002/01/17 01:36:23 1.55 --- CHANGES 2002/01/22 20:10:08 1.56 *************** *** 95,98 **** --- 95,102 ---- * `[[PageSize]]` macro * the interwiki name "Self" now always points to the own wiki + * config.title1 and config.title2 are inserted into the output + right before and after the system title html code (title1 + is right after the tag and normally undefined, title2 + defaults to the "
" above the page contents) Unfinished features: From jhermann at users.sourceforge.net Tue Jan 22 12:20:06 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Jan 22 12:20:06 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.45,1.46 wikiutil.py,1.67,1.68 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv29742/MoinMoin Modified Files: config.py wikiutil.py Log Message: Added config.title1/2 Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -r1.45 -r1.46 *** config.py 2002/01/16 23:59:29 1.45 --- config.py 2002/01/22 20:10:08 1.46 *************** *** 156,159 **** --- 156,161 ---- 'show_version': 0, 'sitename': 'An Unnamed MoinMoin Wiki', + 'title1': None, + 'title2': '
', 'trail_size': 5, 'umask': 0777, Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -r1.67 -r1.68 *** wikiutil.py 2002/01/16 23:59:30 1.67 --- wikiutil.py 2002/01/22 20:10:08 1.68 *************** *** 423,426 **** --- 423,429 ---- return + # print custom html code before system title + if config.title1: print config.title1 + # print the page header (logo, title) print '' % ( link_tag(quoteWikiname(config.page_user_prefs), (config.page_user_prefs, user.current.name)[user.current.valid]),) - print '
' *************** *** 474,480 **** 'pagename': quoteWikiname(keywords['pagename'])} print '' ! # print the rule above the wiki page ! print '
' sys.stdout.flush() --- 477,485 ---- 'pagename': quoteWikiname(keywords['pagename'])} print '' + + # print custom html code after system title (normally "
") + if config.title2: print config.title2 ! # emit it sys.stdout.flush() From jhermann at users.sourceforge.net Tue Jan 22 12:36:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Jan 22 12:36:02 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n fr.py,1.15,1.16 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv7731 Modified Files: fr.py Log Message: Update of french texts Index: fr.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/fr.py,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** fr.py 2002/01/17 01:36:23 1.15 --- fr.py 2002/01/22 20:35:07 1.16 *************** *** 10,17 **** ''': ''' !

New Attachment

!

An upload will never overwrite an existing file. If there is a name ! conflict, you have to rename the file that you want to upload. ! Otherwise, if "Rename to" is left blank, the original filename will be used.

''', --- 10,17 ---- ''': ''' !

Nouvel attachement

!

Vous ne pouvez pas modifier un fichier en le red?posant. S'il y a un conflit de nom, ! vous devrez renommer le fichier que vous voulez d?poser. ! Sinon, si "Renommer en" est laiss? en blanc, le nom original sera utilis?.

''', *************** *** 48,52 **** ' Upload ': ! ' Upload ', ' by browsing, searching, or an index
': --- 48,52 ---- ' Upload ': ! ' Deposer ', ' by browsing, searching, or an index
': *************** *** 54,58 **** ' by browsing, title search %(titlesearch)s, text search %(textsearch)s or an index
': ! ' by browsing, title search %(titlesearch)s, text search %(textsearch)s or an index
', ' for this page (cached %(date)s)': --- 54,58 ---- ' by browsing, title search %(titlesearch)s, text search %(textsearch)s or an index
': ! ' En naviguant, recherche par titre %(titlesearch)s, recherche par contenu %(textsearch)s ou par un index
', ' for this page (cached %(date)s)': *************** *** 72,76 **** '%(changecount)s changes': ! '%(changecount)s changes', '%(errortype)s processing error': --- 72,76 ---- '%(changecount)s changes': ! '%(changecount)s changements', '%(errortype)s processing error': *************** *** 105,109 **** "Found no account matching the given email address '%(email)s'!": ! "Aucun compte v?rifiant l'adresse email '%(email)s' n'a ?t? trouv?!", 'NONE': --- 105,109 ---- "Found no account matching the given email address '%(email)s'!": ! "Aucun compte ? l'adresse email '%(email)s' n'a ?t? trouv?!", 'NONE': *************** *** 114,121 **** 'No older revisions available!': ! 'No older revisions available!', 'No spelling errors found!': ! 'No spelling errors found!', 'Please provide a valid email address!': --- 114,121 ---- 'No older revisions available!': ! 'Pas d\'autres revisions disponibles!', 'No spelling errors found!': ! 'Aucune faute n\'a ?t? trouv?e!', 'Please provide a valid email address!': *************** *** 143,147 **** 'Unsupported upload action: %s': ! 'Unsupported upload action: %s', 'User preferences saved!': --- 143,147 ---- 'Unsupported upload action: %s': ! 'Action de d?pot non disponible: %s', 'User preferences saved!': *************** *** 160,165 **** 'Vous ne pouvez pas sauver de pages vides.', ! 'You cannot use LikePages on an extended pagename!': ! 'You cannot use LikePages on an extended pagename!', 'You have been subscribed to this page.': --- 160,165 ---- 'Vous ne pouvez pas sauver de pages vides.', ! 'You cannot use PagesPareils on an extended pagename!': ! 'Vous ne pouvez pas utiliser !', 'You have been subscribed to this page.': *************** *** 176,180 **** '

Attached Files

': ! '

Attached Files

', """
--- 176,180 ---- '

Attached Files

': ! '

Fichiers attach?s

', """
*************** *** 227,231 **** 'Add "Open in new window" icon to pretty links': ! 'Add "Open in new window" icon to pretty links', 'Add checked words to dictionary': --- 227,231 ---- 'Add "Open in new window" icon to pretty links': ! 'Ajouter une icone "Ouvrir une nouvelle fen?tre" aux liens', 'Add checked words to dictionary': *************** *** 233,237 **** 'Add spaces to displayed wiki names': ! 'Add spaces to displayed wiki names', 'Additions are marked like this.': --- 233,237 ---- 'Add spaces to displayed wiki names': ! 'Ajouter des espaces aux noms wiki affich?s', 'Additions are marked like this.': *************** *** 242,249 **** 'Attachments for "%(pagename)s"': ! 'Attachments for "%(pagename)s"', "Bad timestamp '%s'": ! "Bad timestamp '%s'", 'CSS URL': --- 242,249 ---- 'Attachments for "%(pagename)s"': ! 'Attachements de "%(pagename)s"', "Bad timestamp '%s'": ! "timestamp erron?'%s'", 'CSS URL': *************** *** 254,261 **** 'Cancel': ! 'Cancel', 'Check Spelling': ! 'Check Spelling', 'Clear message': --- 254,261 ---- 'Cancel': ! 'Annuler', 'Check Spelling': ! 'V?rifier l\'orthographe', 'Clear message': *************** *** 266,270 **** 'Comment': ! 'Comment', 'Create this page': --- 266,270 ---- 'Comment': ! 'Commentaire', 'Create this page': *************** *** 290,303 **** 'Download XML export of this wiki': ! 'Download XML export of this wiki', "ERROR in regex '%s'": ! "ERREUR dans regex '%s'", 'Edit "%(pagename)s"': ! 'Edit "%(pagename)s"', 'Edit was cancelled.': ! 'Edit was cancelled.', 'EditText': --- 290,303 ---- 'Download XML export of this wiki': ! 'T?l?charger l\'exportation XML de ce wiki', "ERROR in regex '%s'": ! "ERREUR dans l'expression reguli?re '%s'", 'Edit "%(pagename)s"': ! 'Editer "%(pagename)s"', 'Edit was cancelled.': ! 'Edition annul?e.', 'EditText': *************** *** 326,330 **** 'FindPage': ! 'FindPage', 'Full text search for "%s"': --- 326,330 ---- 'FindPage': ! 'TrouvePage', 'Full text search for "%s"': *************** *** 335,339 **** 'General options': ! 'General options', 'Global extension actions': --- 335,339 ---- 'General options': ! 'Options g?n?rales', 'Global extension actions': *************** *** 365,369 **** 'LocalSpellingWords': ! 'LocalSpellingWords', 'MIME Type (optional)': --- 365,369 ---- 'LocalSpellingWords': ! 'DictionnaireMotsLocaux', 'MIME Type (optional)': *************** *** 386,390 **** 'No attachments stored for %(pagename)s': ! 'No attachments stored for %(pagename)s', 'No orphaned pages in this wiki.': --- 386,390 ---- 'No attachments stored for %(pagename)s': ! 'Pas d\'attachements enregistr?s sur %(pagename)s', 'No orphaned pages in this wiki.': *************** *** 407,411 **** 'Open editor on double click': ! 'Open editor on double click', 'Optional comment about this change': --- 407,411 ---- 'Open editor on double click': ! 'Double click pour ouvrir l\'?diteur', 'Optional comment about this change': *************** *** 446,456 **** 'RefreshCache': ! 'Mettre ? jour', 'Release %s [Revision %s]': ! 'Release %s [Revision %s]', 'Remember last page visited': ! 'Remember last page visited', 'Remove trailing whitespace from each line': --- 446,456 ---- 'RefreshCache': ! 'MettreAJour', 'Release %s [Revision %s]': ! 'Mise ? jour %s [Revision %s]', 'Remember last page visited': ! 'Se souvenir de la derni?re page visit?e', 'Remove trailing whitespace from each line': *************** *** 458,462 **** 'Rename to (optional)': ! 'Rename to (optional)', 'Revision History': --- 458,462 ---- 'Rename to (optional)': ! 'Renommer en (optional)', 'Revision History': *************** *** 473,498 **** 'Show emoticons': ! 'Show emoticons', 'Show fancy diffs': ! 'Show fancy diffs', 'Show fancy links': ! 'Show fancy links', 'Show icon toolbar': ! 'Show icon toolbar', 'Show page trail': ! 'Show page trail', 'Show question mark for non-existing pagelinks': ! 'Show question mark for non-existing pagelinks', 'Show top/bottom links in headings': ! 'Show top/bottom links in headings', 'ShowText': ! 'ShowText', 'Size': --- 473,498 ---- 'Show emoticons': ! 'Montrer les emoticons', 'Show fancy diffs': ! 'Montrer les diffs', 'Show fancy links': ! 'Montrer les liens', 'Show icon toolbar': ! 'Montrer la barre d\'outils', 'Show page trail': ! 'Montrer le chemin de la page', 'Show question mark for non-existing pagelinks': ! 'Montrer un point d\'interrogation pour les liens vers des pages inexistantes', 'Show top/bottom links in headings': ! 'Montrer les liens haut/bas dans les ent?tes', 'ShowText': ! 'MontrerTexte', 'Size': *************** *** 572,576 **** '[New window]': ! '[New window]', '[Template %s not found]': --- 572,576 ---- '[New window]': ! '[Nouvelle fen?tre]', '[Template %s not found]': *************** *** 590,591 **** --- 590,592 ---- } + From jhermann at users.sourceforge.net Tue Jan 22 14:21:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Jan 22 14:21:04 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.56,1.57 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv8787 Modified Files: CHANGES Log Message: Address attachments of other pages Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -r1.56 -r1.57 *** CHANGES 2002/01/22 20:10:08 1.56 --- CHANGES 2002/01/22 22:20:57 1.57 *************** *** 32,36 **** (malicious uploads), by adding this to your moin_config: allowed_actions = ['AttachFile'] ! * "attachment:" URL schema allows access to attachments * New macros: Date(unixtimestamp) and DateTime(unixtimestamp) to display a timestamp according to system/user settings --- 32,37 ---- (malicious uploads), by adding this to your moin_config: allowed_actions = ['AttachFile'] ! * "attachment:" URL schema allows access to attachments, to get files ! from other pages use "attachment:WikiName/filename.ext". * New macros: Date(unixtimestamp) and DateTime(unixtimestamp) to display a timestamp according to system/user settings From jhermann at users.sourceforge.net Tue Jan 22 14:21:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Tue Jan 22 14:21:04 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.65,1.66 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv8787/MoinMoin/parser Modified Files: wiki.py Log Message: Address attachments of other pages Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -r1.65 -r1.66 *** wiki.py 2002/01/16 23:46:46 1.65 --- wiki.py 2002/01/22 22:20:57 1.66 *************** *** 161,164 **** --- 161,171 ---- text = text or url + pagename = self.formatter.page.page_name + parts = string.split(url, '/') + if len(parts) > 1: + # get attachment from other page + pagename = string.join(parts[:-1], '/') + url = parts[-1] + import urllib from MoinMoin.action import AttachFile *************** *** 167,174 **** if not kw.get('pretty_url', 0) and wikiutil.isPicture(url): return self.formatter.image(border=0, alt=url, ! src=AttachFile.getAttachUrl(self.formatter.page.page_name, url)) return self.formatter.url( ! AttachFile.getAttachUrl(self.formatter.page.page_name, url), text, pretty_url=kw.get('pretty_url', 0)) --- 174,181 ---- if not kw.get('pretty_url', 0) and wikiutil.isPicture(url): return self.formatter.image(border=0, alt=url, ! src=AttachFile.getAttachUrl(pagename, url)) return self.formatter.url( ! AttachFile.getAttachUrl(pagename, url), text, pretty_url=kw.get('pretty_url', 0)) From jhermann at users.sourceforge.net Wed Jan 23 13:49:17 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 23 13:49:17 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.57,1.58 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv13071 Modified Files: CHANGES Log Message: Additional link on diff pages to ignore whitespace changes Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -r1.57 -r1.58 *** CHANGES 2002/01/22 22:20:57 1.57 --- CHANGES 2002/01/23 21:48:31 1.58 *************** *** 100,103 **** --- 100,104 ---- is right after the tag and normally undefined, title2 defaults to the "
" above the page contents) + * Additional link on diff pages to ignore whitespace changes Unfinished features: From jhermann at users.sourceforge.net Wed Jan 23 13:49:20 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 23 13:49:20 2002 Subject: [Moin-devel] CVS: MoinMoin/i18n de.py,1.55,1.56 Message-ID: Update of /cvsroot/moin/MoinMoin/i18n In directory usw-pr-cvs1:/tmp/cvs-serv13071/MoinMoin/i18n Modified Files: de.py Log Message: Additional link on diff pages to ignore whitespace changes Index: de.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/i18n/de.py,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -r1.55 -r1.56 *** de.py 2002/01/21 21:38:11 1.55 --- de.py 2002/01/23 21:48:32 1.56 *************** *** 339,342 **** --- 339,345 ---- 'Globale Erweiterungsmakros', + 'Ignore changes in the amount of whitespace': + 'Ausschlie?lich Leerraum betreffende ?nderungen ignorieren', + 'Info for "%s"': 'Info f?r "%s"', From jhermann at users.sourceforge.net Wed Jan 23 13:49:21 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 23 13:49:21 2002 Subject: [Moin-devel] CVS: MoinMoin wikiaction.py,1.49,1.50 wikiutil.py,1.68,1.69 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv13071/MoinMoin Modified Files: wikiaction.py wikiutil.py Log Message: Additional link on diff pages to ignore whitespace changes Index: wikiaction.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -r1.49 -r1.50 *** wikiaction.py 2002/01/21 21:38:11 1.49 --- wikiaction.py 2002/01/23 21:48:31 1.50 *************** *** 148,151 **** --- 148,157 ---- diff_date = None + # spacing flag? + try: + ignorews = int(form['ignorews'].value) + except (KeyError, ValueError, TypeError): + ignorews = 0 + # get a list of old revisions, and back out if none are available oldversions = wikiutil.getBackupList(config.backup_dir, pagename) *************** *** 170,174 **** oldpage = oldversions[0] ! page_file, backup_file, lines = wikiutil.pagediff(pagename, oldpage) # check for valid diff --- 176,180 ---- oldpage = oldversions[0] ! page_file, backup_file, lines = wikiutil.pagediff(pagename, oldpage, ignorews=ignorews) # check for valid diff *************** *** 184,187 **** --- 190,201 ---- # send page title wikiutil.send_title(_('Diff for "%s"') % (pagename,), pagename=pagename) + + # options + if not ignorews: + qstr = 'action=diff&ignorews=1' + if diff_date: qstr = '%s&date=%s' % (qstr, diff_date) + print Page(pagename).link_to( + text=_('Ignore changes in the amount of whitespace'), + querystr=qstr), "

" # Show date info Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -r1.68 -r1.69 *** wikiutil.py 2002/01/22 20:10:08 1.68 --- wikiutil.py 2002/01/23 21:48:32 1.69 *************** *** 355,364 **** ! def pagediff(pagename, oldpage): # build the diff command and execute it backup_file = os.path.join(config.backup_dir, oldpage) page_file = os.path.join(config.text_dir, quoteFilename(pagename)) ! cmd = "%(diff)s -u %(backup)s %(page)s" % { "diff": config.external_diff, "backup": backup_file, "page": page_file, --- 355,367 ---- ! def pagediff(pagename, oldpage, **kw): # build the diff command and execute it backup_file = os.path.join(config.backup_dir, oldpage) page_file = os.path.join(config.text_dir, quoteFilename(pagename)) ! options = '-u' ! if kw.get('ignorews', 0): options = options + ' -b' ! cmd = "%(diff)s %(options)s %(backup)s %(page)s" % { "diff": config.external_diff, + "options": options, "backup": backup_file, "page": page_file, From jhermann at users.sourceforge.net Wed Jan 23 21:18:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 23 21:18:02 2002 Subject: [Moin-devel] CVS: dist/wiki/htdocs/img moin-home.gif,NONE,1.1 Message-ID: Update of /cvsroot/moin/dist/wiki/htdocs/img In directory usw-pr-cvs1:/tmp/cvs-serv9801 Added Files: moin-home.gif Log Message: Cropped image --- NEW FILE: moin-home.gif --- GIF89a -???hJf?????%V?xj???P From jhermann at users.sourceforge.net Wed Jan 23 21:19:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 23 21:19:03 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.46,1.47 wikiutil.py,1.69,1.70 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv10191/MoinMoin Modified Files: config.py wikiutil.py Log Message: Homepage icon Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -r1.46 -r1.47 *** config.py 2002/01/22 20:10:08 1.46 --- config.py 2002/01/24 05:18:32 1.47 *************** *** 149,152 **** --- 149,153 ---- View ''', + 'page_icons_home': 'Home', 'shared_intermap': None, 'shared_metadb': None, Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -r1.69 -r1.70 *** wikiutil.py 2002/01/23 21:48:32 1.69 --- wikiutil.py 2002/01/24 05:18:32 1.70 *************** *** 444,455 **** # print the user's name ! print '

%s
 
' - # print the icon toolbar (if configured) if config.page_icons and user.current.show_toolbar and keywords.has_key('pagename'): iconbar = config.page_icons % { 'scriptname': webapi.getScriptname(), --- 444,458 ---- # print the user's name ! print '' ! print '%s
 
' % ( link_tag(quoteWikiname(config.page_user_prefs), (config.page_user_prefs, user.current.name)[user.current.valid]),) + print '' # print the icon toolbar (if configured) if config.page_icons and user.current.show_toolbar and keywords.has_key('pagename'): + if user.current.valid and Page(user.current.name).exists(): + icon = config.page_icons_home % {'url': config.url_prefix} + print link_tag(quoteWikiname(user.current.name), text=icon) iconbar = config.page_icons % { 'scriptname': webapi.getScriptname(), From jhermann at users.sourceforge.net Thu Jan 24 13:11:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 13:11:02 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.58,1.59 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv24548 Modified Files: CHANGES Log Message: Support for subpages in about 20 new lines. Boy, do I rule! ;)) Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -r1.58 -r1.59 *** CHANGES 2002/01/23 21:48:31 1.58 --- CHANGES 2002/01/24 21:10:13 1.59 *************** *** 101,104 **** --- 101,105 ---- defaults to the "
" above the page contents) * Additional link on diff pages to ignore whitespace changes + * Subpages (config.allow_subpages, config.page_icons_up) Unfinished features: From jhermann at users.sourceforge.net Thu Jan 24 13:11:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 13:11:02 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.47,1.48 wikiutil.py,1.70,1.71 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv24548/MoinMoin Modified Files: config.py wikiutil.py Log Message: Support for subpages in about 20 new lines. Boy, do I rule! ;)) Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -r1.47 -r1.48 *** config.py 2002/01/24 05:18:32 1.47 --- config.py 2002/01/24 21:10:13 1.48 *************** *** 50,53 **** --- 50,54 ---- cfg_defaults = { 'allow_extended_names': 1, + 'allow_subpages': 1, 'allowed_actions': [], 'attachments': None, # {'dir': path, 'url': url-prefix} *************** *** 150,153 **** --- 151,155 ---- ''', 'page_icons_home': 'Home', + 'page_icons_up': 'Up', 'shared_intermap': None, 'shared_metadb': None, Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -r1.70 -r1.71 *** wikiutil.py 2002/01/24 05:18:32 1.70 --- wikiutil.py 2002/01/24 21:10:13 1.71 *************** *** 452,455 **** --- 452,456 ---- # print the icon toolbar (if configured) if config.page_icons and user.current.show_toolbar and keywords.has_key('pagename'): + pagename = keywords['pagename'] if user.current.valid and Page(user.current.name).exists(): icon = config.page_icons_home % {'url': config.url_prefix} *************** *** 458,465 **** 'scriptname': webapi.getScriptname(), 'url': config.url_prefix, ! 'pagename': quoteWikiname(keywords['pagename'])} ! if not user.current.isSubscribedTo([keywords['pagename']]): iconbar = string.replace(iconbar, "moin-email.gif", "moin-email-x.gif") print iconbar # print the navigation bar (if configured) --- 459,473 ---- 'scriptname': webapi.getScriptname(), 'url': config.url_prefix, ! 'pagename': quoteWikiname(pagename)} ! if not user.current.isSubscribedTo([pagename]): iconbar = string.replace(iconbar, "moin-email.gif", "moin-email-x.gif") print iconbar + if config.allow_subpages: + pos = string.rfind(pagename, '/') + if pos >= 0: + parentpage = pagename[:pos] + if Page(parentpage).exists(): + icon = config.page_icons_up % {'url': config.url_prefix} + print link_tag(quoteWikiname(parentpage), text=icon) # print the navigation bar (if configured) From jhermann at users.sourceforge.net Thu Jan 24 13:11:02 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 13:11:02 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.66,1.67 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv24548/MoinMoin/parser Modified Files: wiki.py Log Message: Support for subpages in about 20 new lines. Boy, do I rule! ;)) Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -r1.66 -r1.67 *** wiki.py 2002/01/22 22:20:57 1.66 --- wiki.py 2002/01/24 21:10:13 1.67 *************** *** 32,35 **** --- 32,41 ---- dl_rule = r"^\s+.*?::\s" + word_rule = r'(?:%(subpages)s[%(u)s][%(l)s]+){2,}' % { + 'u': config.upperletters, + 'l': config.lowerletters, + 'subpages': config.allow_subpages and '/?' or '', + } + formatting_rules = r"""(?:(?P'''''(?=[^']+''')) (?P'''''(?=[^']+'')) *************** *** 48,52 **** (?P^\s*(?P=+)\s.*\s(?P=hmarker) $) (?P[A-Z][a-zA-Z]+\:[^\s'\"\:\<]([^\s%(punct)s]|([%(punct)s][^\s%(punct)s]))+) ! (?P(?:[%(u)s][%(l)s]+){2,}) (?P\[(%(url)s)\:[^\s\]]+(\s[^\]]+)?\]) (?P%(url_guard)s(%(url)s)\:([^\s\<%(punct)s]|([%(punct)s][^\s\<%(punct)s]))+) --- 54,58 ---- (?P^\s*(?P=+)\s.*\s(?P=hmarker) $) (?P[A-Z][a-zA-Z]+\:[^\s'\"\:\<]([^\s%(punct)s]|([%(punct)s][^\s%(punct)s]))+) ! (?P%(word_rule)s) (?P\[(%(url)s)\:[^\s\]]+(\s[^\]]+)?\]) (?P%(url_guard)s(%(url)s)\:([^\s\<%(punct)s]|([%(punct)s][^\s\<%(punct)s]))+) *************** *** 63,68 **** 'ol_rule': ol_rule, 'dl_rule': dl_rule, ! 'u': config.upperletters, ! 'l': config.lowerletters, 'smiley': string.join(map(re.escape, wikiutil.smileys.keys()), '|')} --- 69,73 ---- 'ol_rule': ol_rule, 'dl_rule': dl_rule, ! 'word_rule': word_rule, 'smiley': string.join(map(re.escape, wikiutil.smileys.keys()), '|')} *************** *** 117,120 **** --- 122,127 ---- text = url url = "" + elif config.allow_subpages and url[0] == '/': + return self._word_repl(url, text) import urllib *************** *** 233,244 **** ! def _word_repl(self, word): """Handle WikiNames.""" self._check_p() ! hilite = self.highlight_text(word) ! if hilite == word: return self.formatter.pagelink(word) else: ! return self.formatter.pagelink(word, hilite) def _notword_repl(self, word): --- 240,254 ---- ! def _word_repl(self, word, text=None): """Handle WikiNames.""" self._check_p() ! if not text: text = word ! if config.allow_subpages and word[0] == '/': ! word = self.formatter.page.page_name + word ! text = self.highlight_text(text) ! if word == text: return self.formatter.pagelink(word) else: ! return self.formatter.pagelink(word, text) def _notword_repl(self, word): *************** *** 658,664 **** rules = rules + r'|(?P\[".*?"\])' if config.bang_meta: ! rules = r'(?P!(?:[%(u)s][%(l)s]+){2,})|%(rules)s' % { ! 'u': config.upperletters, ! 'l': config.lowerletters, 'rules': rules, } --- 668,673 ---- rules = rules + r'|(?P\[".*?"\])' if config.bang_meta: ! rules = r'(?P!%(word_rule)s)|%(rules)s' % { ! 'word_rule': word_rule, 'rules': rules, } From jhermann at users.sourceforge.net Thu Jan 24 13:11:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 13:11:04 2002 Subject: [Moin-devel] CVS: dist/wiki/htdocs/img moin-parent.gif,NONE,1.1 moin-up.gif,NONE,1.1 Message-ID: Update of /cvsroot/moin/dist/wiki/htdocs/img In directory usw-pr-cvs1:/tmp/cvs-serv24888 Added Files: moin-parent.gif moin-up.gif Log Message: New icons --- NEW FILE: moin-parent.gif --- GIF89a !??MBi U5ul?x????5`????G? r??????h?_S?T}?l ?jO???J&G --- NEW FILE: moin-up.gif --- GIF89a ? From jhermann at users.sourceforge.net Thu Jan 24 13:51:07 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 13:51:07 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.67,1.68 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv4658/parser Modified Files: wiki.py Log Message: Added fancy links to EXISTING local page [wiki:LocalPage text] Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -r1.67 -r1.68 *** wiki.py 2002/01/24 21:10:13 1.67 --- wiki.py 2002/01/24 21:50:44 1.68 *************** *** 123,126 **** --- 123,130 ---- url = "" elif config.allow_subpages and url[0] == '/': + # fancy link to subpage [wiki:/SubPage text] + return self._word_repl(url, text) + elif Page(url).exists(): + # fancy link to local page [wiki:LocalPage text] return self._word_repl(url, text) From jhermann at users.sourceforge.net Thu Jan 24 14:15:19 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 14:15:19 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.59,1.60 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv13039 Modified Files: CHANGES Log Message: ^superscript^ markup Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -r1.59 -r1.60 *** CHANGES 2002/01/24 21:10:13 1.59 --- CHANGES 2002/01/24 22:14:55 1.60 *************** *** 102,105 **** --- 102,106 ---- * Additional link on diff pages to ignore whitespace changes * Subpages (config.allow_subpages, config.page_icons_up) + * ^superscript^ markup Unfinished features: From jhermann at users.sourceforge.net Thu Jan 24 14:15:19 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 14:15:19 2002 Subject: [Moin-devel] CVS: MoinMoin/formatter base.py,1.16,1.17 text_html.py,1.32,1.33 text_plain.py,1.12,1.13 text_xml.py,1.20,1.21 Message-ID: Update of /cvsroot/moin/MoinMoin/formatter In directory usw-pr-cvs1:/tmp/cvs-serv13039/MoinMoin/formatter Modified Files: base.py text_html.py text_plain.py text_xml.py Log Message: ^superscript^ markup Index: base.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/base.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** base.py 2002/01/11 21:06:19 1.16 --- base.py 2002/01/24 22:14:55 1.17 *************** *** 79,82 **** --- 79,85 ---- raise NotImplementedError + def sup(self, on): + raise NotImplementedError + def code(self, on): raise NotImplementedError Index: text_html.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/text_html.py,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -r1.32 -r1.33 *** text_html.py 2001/12/21 01:22:06 1.32 --- text_html.py 2002/01/24 22:14:55 1.33 *************** *** 108,111 **** --- 108,114 ---- return ['
  • ', '
  • '][not on] + def sup(self, on): + return ['', ''][not on] + def code(self, on): return ['', ''][not on] Index: text_plain.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/text_plain.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** text_plain.py 2001/12/09 04:51:04 1.12 --- text_plain.py 2002/01/24 22:14:55 1.13 *************** *** 71,74 **** --- 71,77 ---- return ' * ' + def sup(self, on): + return '^' + def code(self, on): return ['`', '?'][not on] Index: text_xml.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/text_xml.py,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -r1.20 -r1.21 *** text_xml.py 2001/12/09 04:51:04 1.20 --- text_xml.py 2002/01/24 22:14:55 1.21 *************** *** 107,110 **** --- 107,113 ---- return ['', ''][not on] + def sup(self, on): + return ['', ''][not on] + def preformatted(self, on): self.in_pre = on From jhermann at users.sourceforge.net Thu Jan 24 14:15:19 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 24 14:15:19 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.68,1.69 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv13039/MoinMoin/parser Modified Files: wiki.py Log Message: ^superscript^ markup Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -r1.68 -r1.69 *** wiki.py 2002/01/24 21:50:44 1.68 --- wiki.py 2002/01/24 22:14:55 1.69 *************** *** 42,45 **** --- 42,46 ---- (?P'{5}(?=[^'])) (?P'{2,3}) + (?P\^.*?\^) (?P\{\{\{.*?\}\}\}) (?P
    (\{\{\{ ?|\}\}\}))
    ***************
    *** 232,235 ****
    --- 233,244 ----
              else:
                  return self.formatter.emphasis(self.is_em) + self.formatter.strong(self.is_b)
    + 
    + 
    +     def _sup_repl(self, word):
    +         """Handle superscript."""
    +         self._check_p()
    +         return self.formatter.sup(1) + \
    +             self.highlight_text(word[1:-1]) + \
    +             self.formatter.sup(0)
      
      
    
    
    
    
    From jhermann at users.sourceforge.net  Thu Jan 24 14:31:20 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Thu Jan 24 14:31:20 2002
    Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.69,1.70
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/parser
    In directory usw-pr-cvs1:/tmp/cvs-serv18114
    
    Modified Files:
    	wiki.py 
    Log Message:
    Refactored some common regex strings to their own variables
    
    
    Index: wiki.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v
    retrieving revision 1.69
    retrieving revision 1.70
    diff -C2 -r1.69 -r1.70
    *** wiki.py	2002/01/24 22:14:55	1.69
    --- wiki.py	2002/01/24 22:30:44	1.70
    ***************
    *** 29,35 ****
          """
      
    !     ol_rule = r"^\s+[0-9aAiI]\.(?:#\d+)?\s"
    !     dl_rule = r"^\s+.*?::\s"
      
          word_rule = r'(?:%(subpages)s[%(u)s][%(l)s]+){2,}' % {
              'u': config.upperletters,
    --- 29,39 ----
          """
      
    !     # some common strings
    !     punct_pattern = re.escape('''"'}]|:,.)?!''')
    !     url_pattern = ('http|https|ftp|nntp|news|mailto|telnet|wiki|file' +
    !             '|attachment' + 
    !             (config.url_schemas and '|' + string.join(config.url_schemas, '|') or ''))
      
    +     # some common rules
          word_rule = r'(?:%(subpages)s[%(u)s][%(l)s]+){2,}' % {
              'u': config.upperletters,
    ***************
    *** 37,41 ****
    --- 41,54 ----
              'subpages': config.allow_subpages and '/?' or '',
          }
    +     url_rule = r'%(url_guard)s(%(url)s)\:([^\s\<%(punct)s]|([%(punct)s][^\s\<%(punct)s]))+' % {
    +         'url_guard': ('(^|(?'''''(?=[^']+'''))
      (?P'''''(?=[^']+''))
    ***************
    *** 57,73 ****
      (?P%(word_rule)s)
      (?P\[(%(url)s)\:[^\s\]]+(\s[^\]]+)?\])
    ! (?P%(url_guard)s(%(url)s)\:([^\s\<%(punct)s]|([%(punct)s][^\s\<%(punct)s]))+)
      (?P[-\w._+]+\@[\w-]+\.[\w.-]+)
      (?P\s(%(smiley)s)\s)
      (?P^(%(smiley)s)\s)
      (?P[<>&])"""  % {
    !         'url': 'http|https|ftp|nntp|news|mailto|telnet|wiki|file' +
    !             '|attachment' + 
    !             (config.url_schemas and '|' + string.join(config.url_schemas, '|') or ''),
    !         'url_guard': ('(^|(?%(word_rule)s)
      (?P\[(%(url)s)\:[^\s\]]+(\s[^\]]+)?\])
    ! (?P%(url_rule)s)
      (?P[-\w._+]+\@[\w-]+\.[\w.-]+)
      (?P\s(%(smiley)s)\s)
      (?P^(%(smiley)s)\s)
      (?P[<>&])"""  % {
    !         'url': url_pattern,
    !         'punct': punct_pattern,
              'macronames': string.join(wikimacro.names, '|'),
              'ol_rule': ol_rule,
              'dl_rule': dl_rule,
    +         'url_rule': url_rule,
              'word_rule': word_rule,
              'smiley': string.join(map(re.escape, wikiutil.smileys.keys()), '|')}
    
    
    
    
    From jhermann at users.sourceforge.net  Thu Jan 24 15:11:11 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Thu Jan 24 15:11:11 2002
    Subject: [Moin-devel] CVS: dist CHANGES,1.60,1.61
    Message-ID: 
    
    Update of /cvsroot/moin/dist
    In directory usw-pr-cvs1:/tmp/cvs-serv30251
    
    Modified Files:
    	CHANGES 
    Log Message:
    FootNote macro
    
    
    Index: CHANGES
    ===================================================================
    RCS file: /cvsroot/moin/dist/CHANGES,v
    retrieving revision 1.60
    retrieving revision 1.61
    diff -C2 -r1.60 -r1.61
    *** CHANGES	2002/01/24 22:14:55	1.60
    --- CHANGES	2002/01/24 23:10:47	1.61
    ***************
    *** 103,106 ****
    --- 103,107 ----
          * Subpages (config.allow_subpages, config.page_icons_up)
          * ^superscript^ markup
    +     * `[[FootNote]]` macro
      
      Unfinished features:
    
    
    
    
    From jhermann at users.sourceforge.net  Thu Jan 24 15:11:12 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Thu Jan 24 15:11:12 2002
    Subject: [Moin-devel] CVS: MoinMoin wikimacro.py,1.30,1.31
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin
    In directory usw-pr-cvs1:/tmp/cvs-serv30251/MoinMoin
    
    Modified Files:
    	wikimacro.py 
    Log Message:
    FootNote macro
    
    
    Index: wikimacro.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/wikimacro.py,v
    retrieving revision 1.30
    retrieving revision 1.31
    diff -C2 -r1.30 -r1.31
    *** wikimacro.py	2002/01/14 23:33:20	1.30
    --- wikimacro.py	2002/01/24 23:10:47	1.31
    ***************
    *** 18,22 ****
      from MoinMoin import action, config, editlog, macro, user, util
      from MoinMoin import version, wikiutil, wikiaction
    ! from MoinMoin.Page import Page
      from MoinMoin.i18n import _
      
    --- 18,22 ----
      from MoinMoin import action, config, editlog, macro, user, util
      from MoinMoin import version, wikiutil, wikiaction
    ! from MoinMoin.Page import Page, request
      from MoinMoin.i18n import _
      
    ***************
    *** 70,73 ****
    --- 70,74 ----
              self.formatter = self.parser.formatter
              self.form = self.parser.form
    +         self.request = request
      
          def execute(self, macro_name, args):
    
    
    
    
    From jhermann at users.sourceforge.net  Thu Jan 24 15:11:13 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Thu Jan 24 15:11:13 2002
    Subject: [Moin-devel] CVS: MoinMoin/formatter base.py,1.17,1.18 text_html.py,1.33,1.34 text_plain.py,1.13,1.14 text_xml.py,1.21,1.22
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/formatter
    In directory usw-pr-cvs1:/tmp/cvs-serv30251/MoinMoin/formatter
    
    Modified Files:
    	base.py text_html.py text_plain.py text_xml.py 
    Log Message:
    FootNote macro
    
    
    Index: base.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/formatter/base.py,v
    retrieving revision 1.17
    retrieving revision 1.18
    diff -C2 -r1.17 -r1.18
    *** base.py	2002/01/24 22:14:55	1.17
    --- base.py	2002/01/24 23:10:47	1.18
    ***************
    *** 24,27 ****
    --- 24,29 ----
          """
      
    +     hardspace = ' '
    + 
          def __init__(self, **kw):
              self._store_pagelinks = kw.get('store_pagelinks', 0)
    
    Index: text_html.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/formatter/text_html.py,v
    retrieving revision 1.33
    retrieving revision 1.34
    diff -C2 -r1.33 -r1.34
    *** text_html.py	2002/01/24 22:14:55	1.33
    --- text_html.py	2002/01/24 23:10:47	1.34
    ***************
    *** 26,29 ****
    --- 26,31 ----
          """
      
    +     hardspace = ' '
    + 
          _allowed_table_attrs = {
              'table': ['border', 'cellspacing', 'cellpadding', 'width', 'bgcolor', ],
    
    Index: text_plain.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/formatter/text_plain.py,v
    retrieving revision 1.13
    retrieving revision 1.14
    diff -C2 -r1.13 -r1.14
    *** text_plain.py	2002/01/24 22:14:55	1.13
    --- text_plain.py	2002/01/24 23:10:47	1.14
    ***************
    *** 22,25 ****
    --- 22,27 ----
          """
      
    +     hardspace = ' '
    + 
          def __init__(self, **kw):
              apply(FormatterBase.__init__, (self,), kw)
    
    Index: text_xml.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/formatter/text_xml.py,v
    retrieving revision 1.21
    retrieving revision 1.22
    diff -C2 -r1.21 -r1.22
    *** text_xml.py	2002/01/24 22:14:55	1.21
    --- text_xml.py	2002/01/24 23:10:47	1.22
    ***************
    *** 29,32 ****
    --- 29,34 ----
          """
      
    +     hardspace = ' '
    + 
          def __init__(self, **kw):
              apply(FormatterBase.__init__, (self,), kw)
    
    
    
    
    From jhermann at users.sourceforge.net  Thu Jan 24 15:11:15 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Thu Jan 24 15:11:15 2002
    Subject: [Moin-devel] CVS: MoinMoin/macro FootNote.py,NONE,1.1
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/macro
    In directory usw-pr-cvs1:/tmp/cvs-serv30251/MoinMoin/macro
    
    Added Files:
    	FootNote.py 
    Log Message:
    FootNote macro
    
    
    --- NEW FILE: FootNote.py ---
    """
        MoinMoin - FootNote Macro
    
        Copyright (c) 2002 by J?rgen Hermann 
        All rights reserved, see COPYING for details.
    
        Collect and emit footnotes. Note that currently footnote
        text cannot contain wiki markup.
    
        $Id: FootNote.py,v 1.1 2002/01/24 23:10:48 jhermann Exp $
    """
    
    # Imports
    import string
    #from MoinMoin.i18n import _
    
    
    def execute(macro, args):
        # create storage for footnotes
        if not hasattr(macro.request, 'footnotes'):
            macro.request.footnotes = []
    
    
        def anchordef(self, name):
            return '' % name
    
        def anchorlink(self, name, text):
            return '%s' % (name, cgi.escape(text))
    
        
        if not args:
            # emit collected footnotes
            if macro.request.footnotes:
                result = ['____']
                for idx in range(len(macro.request.footnotes)):
                    result.append(macro.formatter.linebreak(0))
                    result.append(macro.formatter.anchordef('moin_footnote%d' % (idx+1)))
                    result.append(macro.formatter.code(1))
                    result.append(macro.formatter.sup(1))
                    result.append(string.replace('%4d ' % (idx+1), ' ', macro.formatter.hardspace))
                    result.append(macro.formatter.sup(0))
                    result.append(macro.formatter.code(0))
                    result.append(macro.request.footnotes[idx])
                macro.request.footnotes = []
                return string.join(result, '')
        else:
            # store footnote and emit number
            macro.request.footnotes.append(args)
            idx = str(len(macro.request.footnotes))
            return "%s%s%s" % (
                macro.formatter.sup(1),
                macro.formatter.anchorlink('moin_footnote' + idx, idx),
                macro.formatter.sup(0),)
    
        # nothing to do or emit
        return ''
    
    
    
    
    
    From jhermann at users.sourceforge.net  Thu Jan 24 15:26:03 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Thu Jan 24 15:26:03 2002
    Subject: [Moin-devel] CVS: MoinMoin Page.py,1.95,1.96
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin
    In directory usw-pr-cvs1:/tmp/cvs-serv2102
    
    Modified Files:
    	Page.py 
    Log Message:
    Auto-emit pending footnotes when page ends
    
    
    Index: Page.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/Page.py,v
    retrieving revision 1.95
    retrieving revision 1.96
    diff -C2 -r1.95 -r1.96
    *** Page.py	2002/01/16 22:00:58	1.95
    --- Page.py	2002/01/24 23:25:22	1.96
    ***************
    *** 379,382 ****
    --- 379,388 ----
                  Parser(body).format(self.formatter, form)
      
    +             # check for pending footnotes
    +             if getattr(request, 'footnotes', None):
    +                 from MoinMoin.macro.FootNote import emit_footnotes
    +                 print self.formatter.linebreak(0)
    +                 print emit_footnotes(request, self.formatter)
    + 
              # end document output
              doc_trailer = self.formatter.endDocument()
    
    
    
    
    From jhermann at users.sourceforge.net  Thu Jan 24 15:26:03 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Thu Jan 24 15:26:03 2002
    Subject: [Moin-devel] CVS: MoinMoin/macro FootNote.py,1.1,1.2
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/macro
    In directory usw-pr-cvs1:/tmp/cvs-serv2102/macro
    
    Modified Files:
    	FootNote.py 
    Log Message:
    Auto-emit pending footnotes when page ends
    
    
    Index: FootNote.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/macro/FootNote.py,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -C2 -r1.1 -r1.2
    *** FootNote.py	2002/01/24 23:10:48	1.1
    --- FootNote.py	2002/01/24 23:25:22	1.2
    ***************
    *** 20,47 ****
          if not hasattr(macro.request, 'footnotes'):
              macro.request.footnotes = []
    - 
    - 
    -     def anchordef(self, name):
    -         return '' % name
    - 
    -     def anchorlink(self, name, text):
    -         return '%s' % (name, cgi.escape(text))
    - 
          
          if not args:
    !         # emit collected footnotes
    !         if macro.request.footnotes:
    !             result = ['____']
    !             for idx in range(len(macro.request.footnotes)):
    !                 result.append(macro.formatter.linebreak(0))
    !                 result.append(macro.formatter.anchordef('moin_footnote%d' % (idx+1)))
    !                 result.append(macro.formatter.code(1))
    !                 result.append(macro.formatter.sup(1))
    !                 result.append(string.replace('%4d ' % (idx+1), ' ', macro.formatter.hardspace))
    !                 result.append(macro.formatter.sup(0))
    !                 result.append(macro.formatter.code(0))
    !                 result.append(macro.request.footnotes[idx])
    !             macro.request.footnotes = []
    !             return string.join(result, '')
          else:
              # store footnote and emit number
    --- 20,26 ----
          if not hasattr(macro.request, 'footnotes'):
              macro.request.footnotes = []
          
          if not args:
    !         return emit_footnotes(macro.request, macro.formatter)
          else:
              # store footnote and emit number
    ***************
    *** 54,57 ****
    --- 33,55 ----
      
          # nothing to do or emit
    +     return ''
    + 
    + 
    + def emit_footnotes(request, formatter):
    +     # emit collected footnotes
    +     if request.footnotes:
    +         result = ['____']
    +         for idx in range(len(request.footnotes)):
    +             result.append(formatter.linebreak(0))
    +             result.append(formatter.anchordef('moin_footnote%d' % (idx+1)))
    +             result.append(formatter.code(1))
    +             result.append(formatter.sup(1))
    +             result.append(string.replace('%4d ' % (idx+1), ' ', formatter.hardspace))
    +             result.append(formatter.sup(0))
    +             result.append(formatter.code(0))
    +             result.append(request.footnotes[idx])
    +         request.footnotes = []
    +         return string.join(result, '')
    + 
          return ''
      
    
    
    
    
    From jhermann at users.sourceforge.net  Fri Jan 25 02:52:05 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Fri Jan 25 02:52:05 2002
    Subject: [Moin-devel] CVS: MoinMoin cgimain.py,1.40,1.41
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin
    In directory usw-pr-cvs1:/tmp/cvs-serv24212/MoinMoin
    
    Modified Files:
    	cgimain.py 
    Log Message:
    Bugfix for subpages and config.allow_extended_names=0
    
    
    Index: cgimain.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/cgimain.py,v
    retrieving revision 1.40
    retrieving revision 1.41
    diff -C2 -r1.40 -r1.41
    *** cgimain.py	2002/01/11 20:37:38	1.40
    --- cgimain.py	2002/01/25 10:51:53	1.41
    ***************
    *** 169,176 ****
                      Page(query).send_page(request.form, count_hit=1)
                  else:
                      import re
    !                 word_re_str = r"([%s][%s]+){2,}" % (
    !                     config.upperletters, config.lowerletters)
    !                 word_match = re.match(word_re_str, query)
                      if word_match:
                          word = word_match.group(0)
    --- 169,175 ----
                      Page(query).send_page(request.form, count_hit=1)
                  else:
    +                 from MoinMoin.parser.wiki import Parser
                      import re
    !                 word_match = re.match(Parser.word_rule, query)
                      if word_match:
                          word = word_match.group(0)
    
    
    
    
    From jh at web.de  Fri Jan 25 02:54:02 2002
    From: jh at web.de (Juergen Hermann)
    Date: Fri Jan 25 02:54:02 2002
    Subject: [Moin-devel] CVS msgs
    Message-ID: 
    
    Hi!
    
    When someone doesn't want to see the CVS msgs, I can open a special 
    list for them.
    
    
    
    Ciao, J?rgen
    
    --
    J?rgen Hermann, Developer (jhe at webde-ag.de)
    WEB.DE AG, http://webde-ag.de/
    
    
    
    
    
    From brian at dorseys.org  Fri Jan 25 08:30:04 2002
    From: brian at dorseys.org (Brian Dorsey)
    Date: Fri Jan 25 08:30:04 2002
    Subject: [Moin-devel] CVS msgs
    In-Reply-To: ; from jh@web.de on Fri, Jan 25, 2002 at 11:53:14AM +0100
    References: 
    Message-ID: <20020125082954.B16737@dorseys.org>
    
    On Fri, Jan 25, 2002 at 11:53:14AM +0100, Juergen Hermann wrote:
    > Hi!
    > 
    > When someone doesn't want to see the CVS msgs, I can open a special 
    > list for them.
    
    I'm enjoying them!
    
    -Brian
    
    
    
    From jhermann at users.sourceforge.net  Fri Jan 25 11:05:08 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Fri Jan 25 11:05:08 2002
    Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.70,1.71
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/parser
    In directory usw-pr-cvs1:/tmp/cvs-serv7354/parser
    
    Modified Files:
    	wiki.py 
    Log Message:
    Tweaked word rule (Camel/Case is not a valid WikiName)
    
    
    Index: wiki.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v
    retrieving revision 1.70
    retrieving revision 1.71
    diff -C2 -r1.70 -r1.71
    *** wiki.py	2002/01/24 22:30:44	1.70
    --- wiki.py	2002/01/25 19:04:39	1.71
    ***************
    *** 36,40 ****
      
          # some common rules
    !     word_rule = r'(?:%(subpages)s[%(u)s][%(l)s]+){2,}' % {
              'u': config.upperletters,
              'l': config.lowerletters,
    --- 36,40 ----
      
          # some common rules
    !     word_rule = r'(?:%(subpages)s(?:[%(u)s][%(l)s]+){2,})+' % {
              'u': config.upperletters,
              'l': config.lowerletters,
    
    
    
    
    From jhermann at users.sourceforge.net  Sat Jan 26 06:20:03 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Sat Jan 26 06:20:03 2002
    Subject: [Moin-devel] CVS: MoinMoin cgimain.py,1.41,1.42
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin
    In directory usw-pr-cvs1:/tmp/cvs-serv22257
    
    Modified Files:
    	cgimain.py 
    Log Message:
    Bug reported by Joo-won Jung 
    
    
    Index: cgimain.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/cgimain.py,v
    retrieving revision 1.41
    retrieving revision 1.42
    diff -C2 -r1.41 -r1.42
    *** cgimain.py	2002/01/25 10:51:53	1.41
    --- cgimain.py	2002/01/26 14:18:59	1.42
    ***************
    *** 139,143 ****
              # check for non-URI characters and then handle them according to
              # http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.1
    !         if pagename and sys.prefix[:2] != '1.':
                  try:
                      dummy = unicode(pagename, 'ASCII')
    --- 139,143 ----
              # check for non-URI characters and then handle them according to
              # http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.1
    !         if pagename and sys.version[:2] != '1.':
                  try:
                      dummy = unicode(pagename, 'ASCII')
    
    
    
    
    From sanori at sanori.net  Sun Jan 27 13:54:02 2002
    From: sanori at sanori.net (Joo-won Jung)
    Date: Sun Jan 27 13:54:02 2002
    Subject: [Moin-devel] MoinMoin on mod_python?
    Message-ID: <20020127215253.GA10945@ns.sanori.net>
    
    Hello,
    
    I have made a note to run MoinMoin on mod_python (cgihandler) environment.
    	http://www.sanori.net/wiki/moin.py/MoinMoinOnModPython
    
    But, there is some strange pheomenon. (written in that memo)
    Does anyone give me a hint to solve those problems?
    
    And, if you try to port MoinMoin on mod_python native(?) environment,
    what advantages do you get against cgihandler environment? If you
    want to do, do you make a new module in webapi directory?
    
    Thanks in advance.
    
    -Sanori
    
    
    
    
    From knaas at netjets.com  Mon Jan 28 09:53:04 2002
    From: knaas at netjets.com (Keith Naas)
    Date: Mon Jan 28 09:53:04 2002
    Subject: [Moin-devel] CVS: MoinMoin cgimain.py,1.41,1.42
    Message-ID: 
    
    If you delete a page and go to the RecentChanges to see the page, then update your bookmark timestamp.  The deleted page will show up with a diff link.  By following the link you will get an exception.  Since the page no longer exists, the diff link should not be there.  Changing to the code below removes the link.  
    
    Bug in RecentChanges.py @line 105
    
    execute(...)
            if not page.exists():
                # indicate page was deleted
                if hilite:
                    html_link = '[DELETED]' % (
                        config.url_prefix)
    
    
    
    
    
    
    From knaas at netjets.com  Mon Jan 28 09:54:04 2002
    From: knaas at netjets.com (Keith Naas)
    Date: Mon Jan 28 09:54:04 2002
    Subject: [Moin-devel] Problem with RecentChanges & diff link
    Message-ID: 
    
    If you delete a page and go to the RecentChanges to see the page, then update your bookmark timestamp.  The deleted page will show up with a diff link.  By following the link you will get an exception.  Since the page no longer exists, the diff link should not be there.  Changing to the code below removes the link.  
    
    Bug in RecentChanges.py @line 105
    
    execute(...)
            if not page.exists():
                # indicate page was deleted
                if hilite:
                    html_link = '[DELETED]' % (
                        config.url_prefix)
    
    
    
    
    
    
    From jhermann at users.sourceforge.net  Mon Jan 28 12:30:02 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Mon Jan 28 12:30:02 2002
    Subject: [Moin-devel] CVS: MoinMoin/macro RecentChanges.py,1.46,1.47
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/macro
    In directory usw-pr-cvs1:/tmp/cvs-serv6400/macro
    
    Modified Files:
    	RecentChanges.py 
    Log Message:
    Don't show diff link for deleted pages
    
    
    Index: RecentChanges.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/macro/RecentChanges.py,v
    retrieving revision 1.46
    retrieving revision 1.47
    diff -C2 -r1.46 -r1.47
    *** RecentChanges.py	2001/12/10 01:01:51	1.46
    --- RecentChanges.py	2002/01/28 20:29:00	1.47
    ***************
    *** 103,107 ****
      
              html_link = ''
    !         if hilite and not page.exists():
                  # indicate page was deleted
                  html_link = '[DELETED]' % (
    --- 103,107 ----
      
              html_link = ''
    !         if not page.exists():
                  # indicate page was deleted
                  html_link = '[DELETED]' % (
    
    
    
    
    From jhermann at users.sourceforge.net  Mon Jan 28 12:59:02 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Mon Jan 28 12:59:02 2002
    Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.71,1.72
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/parser
    In directory usw-pr-cvs1:/tmp/cvs-serv16199/parser
    
    Modified Files:
    	wiki.py 
    Log Message:
    Handle bracketed page links via _word_repl (unified behaviour)
    
    
    Index: wiki.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v
    retrieving revision 1.71
    retrieving revision 1.72
    diff -C2 -r1.71 -r1.72
    *** wiki.py	2002/01/25 19:04:39	1.71
    --- wiki.py	2002/01/28 20:58:07	1.72
    ***************
    *** 298,304 ****
          def _wikiname_bracket_repl(self, word):
              """Handle special-char wikinames."""
    !         self._check_p()
    !         wikiname = word[2:-2]
    !         return self.formatter.pagelink(wikiname)
      
      
    --- 298,302 ----
          def _wikiname_bracket_repl(self, word):
              """Handle special-char wikinames."""
    !         return self._word_repl(word[2:-2])
      
      
    
    
    
    
    From jhermann at users.sourceforge.net  Tue Jan 29 12:32:04 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Tue Jan 29 12:32:04 2002
    Subject: [Moin-devel] CVS: dist/wiki/data intermap.txt,1.4,1.5
    Message-ID: 
    
    Update of /cvsroot/moin/dist/wiki/data
    In directory usw-pr-cvs1:/tmp/cvs-serv27743/wiki/data
    
    Modified Files:
    	intermap.txt 
    Log Message:
    SeaPig: changed url
    
    
    Index: intermap.txt
    ===================================================================
    RCS file: /cvsroot/moin/dist/wiki/data/intermap.txt,v
    retrieving revision 1.4
    retrieving revision 1.5
    diff -C2 -r1.4 -r1.5
    *** intermap.txt	2001/12/18 21:03:12	1.4
    --- intermap.txt	2002/01/29 20:31:44	1.5
    ***************
    *** 8,12 ****
      OpenWiki http://openwiki.com/?
      PythonFaq http://www.python.org/cgi-bin/faqw.py?req=show&file=faq$PAGE.htp
    ! SeaPig http://www.zipcon.net/~showell/cgi-bin/MoinMoin/moin.py/
      
      Wiki http://c2.com/cgi/wiki?
    --- 8,12 ----
      OpenWiki http://openwiki.com/?
      PythonFaq http://www.python.org/cgi-bin/faqw.py?req=show&file=faq$PAGE.htp
    ! SeaPig http://www.zipcon.net/~adamf/cgi-bin/MoinMoin/moin.py/
      
      Wiki http://c2.com/cgi/wiki?
    
    
    
    
    From jhermann at users.sourceforge.net  Tue Jan 29 15:36:01 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Tue Jan 29 15:36:01 2002
    Subject: [Moin-devel] CVS: MoinMoin editlog.py,1.12,1.13
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin
    In directory usw-pr-cvs1:/tmp/cvs-serv18899
    
    Modified Files:
    	editlog.py 
    Log Message:
    Action-Type in editlog
    
    
    Index: editlog.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/editlog.py,v
    retrieving revision 1.12
    retrieving revision 1.13
    diff -C2 -r1.12 -r1.13
    *** editlog.py	2001/12/10 00:54:39	1.12
    --- editlog.py	2002/01/29 23:35:57	1.13
    ***************
    *** 62,66 ****
                  return "The edit log '%s' is not writable!" % (self.filename,)
      
    !     def addEntry(self, pagename, host, mtime, comment):
              """ Add an entry to the editlog """
              import socket
    --- 62,66 ----
                  return "The edit log '%s' is not writable!" % (self.filename,)
      
    !     def addEntry(self, pagename, host, mtime, comment, action="SAVE"):
              """ Add an entry to the editlog """
              import socket
    ***************
    *** 76,80 ****
              logfile = open(self.filename, 'a+')
              entry = string.join((wikiutil.quoteFilename(pagename), host, `mtime`,
    !                              hostname, user.User().id, comment), "\t") + "\n"
              try:
                  # fcntl.flock(logfile.fileno(), fcntl.LOCK_EX)
    --- 76,80 ----
              logfile = open(self.filename, 'a+')
              entry = string.join((wikiutil.quoteFilename(pagename), host, `mtime`,
    !                              hostname, user.User().id, comment, action), "\t") + "\n"
              try:
                  # fcntl.flock(logfile.fileno(), fcntl.LOCK_EX)
    ***************
    *** 117,121 ****
          """
      
    !     _NUM_FIELDS = 6
      
          def __init__(self, **kw):
    --- 117,121 ----
          """
      
    !     _NUM_FIELDS = 7
      
          def __init__(self, **kw):
    ***************
    *** 253,261 ****
      
              self.pagename, self.addr, self.ed_time, self.hostname, \
    !             self.userid, self.comment = fields[:self._NUM_FIELDS]
              if not self.hostname:
                  self.hostname = self.addr
              self.pagename = wikiutil.unquoteFilename(self.pagename)
              self.ed_time = float(self.ed_time or "0")
      
      
    --- 253,263 ----
      
              self.pagename, self.addr, self.ed_time, self.hostname, \
    !             self.userid, self.comment, self.action = fields[:self._NUM_FIELDS]
              if not self.hostname:
                  self.hostname = self.addr
              self.pagename = wikiutil.unquoteFilename(self.pagename)
              self.ed_time = float(self.ed_time or "0")
    +         if not self.action:
    +             self.action = 'SAVE'
      
      
    
    
    
    
    From jhermann at users.sourceforge.net  Tue Jan 29 15:36:02 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Tue Jan 29 15:36:02 2002
    Subject: [Moin-devel] CVS: MoinMoin/macro RecentChanges.py,1.47,1.48
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin/macro
    In directory usw-pr-cvs1:/tmp/cvs-serv18899/macro
    
    Modified Files:
    	RecentChanges.py 
    Log Message:
    Action-Type in editlog
    
    
    Index: RecentChanges.py
    ===================================================================
    RCS file: /cvsroot/moin/MoinMoin/macro/RecentChanges.py,v
    retrieving revision 1.47
    retrieving revision 1.48
    diff -C2 -r1.47 -r1.48
    *** RecentChanges.py	2002/01/28 20:29:00	1.47
    --- RecentChanges.py	2002/01/29 23:35:57	1.48
    ***************
    *** 263,266 ****
    --- 263,267 ----
              while log.getNextChange():
                  if log.dayChanged() and log.daycount > _max_days: break
    +             if log.action != 'SAVE': continue
                  logdata.append(new.instance(Bag, {
                      'time': log.time_tuple,
    
    
    
    
    From jhermann at users.sourceforge.net  Wed Jan 30 11:28:02 2002
    From: jhermann at users.sourceforge.net (J?rgen Hermann)
    Date: Wed Jan 30 11:28:02 2002
    Subject: [Moin-devel] CVS: MoinMoin config.py,1.48,1.49 wikiutil.py,1.71,1.72
    Message-ID: 
    
    Update of /cvsroot/moin/MoinMoin
    In directory usw-pr-cvs1:/tmp/cvs-serv6109
    
    Modified Files:
    	config.py wikiutil.py 
    Log Message:
    Moved 
    to config.page_footer1 Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -r1.48 -r1.49 *** config.py 2002/01/24 21:10:13 1.48 --- config.py 2002/01/30 19:27:03 1.49 *************** *** 135,139 **** 'page_word_index': 'WordIndex', ! 'page_footer1': """PythonPowered""" % (url_prefix,), --- 135,139 ---- 'page_word_index': 'WordIndex', ! 'page_footer1': """
    PythonPowered""" % (url_prefix,), Index: wikiutil.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -r1.71 -r1.72 *** wikiutil.py 2002/01/24 21:10:13 1.71 --- wikiutil.py 2002/01/30 19:27:03 1.72 *************** *** 518,522 **** import cgi ! print '
    ' if config.page_footer1: print config.page_footer1 --- 518,522 ---- import cgi ! print '' if config.page_footer1: print config.page_footer1 From jhermann at users.sourceforge.net Wed Jan 30 14:05:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 30 14:05:03 2002 Subject: [Moin-devel] CVS: dist CHANGES,1.61,1.62 Message-ID: Update of /cvsroot/moin/dist In directory usw-pr-cvs1:/tmp/cvs-serv29784 Modified Files: CHANGES Log Message: Anchor links Index: CHANGES =================================================================== RCS file: /cvsroot/moin/dist/CHANGES,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -r1.61 -r1.62 *** CHANGES 2002/01/24 23:10:47 1.61 --- CHANGES 2002/01/30 22:04:11 1.62 *************** *** 75,79 **** Chang) * New SystemAdmin macro ! * `[[Anchor(name)]]` macro to insert anchors into a page * User option to open editor view via a double-click * Added commentary field to editor, recent changes and page info --- 75,80 ---- Chang) * New SystemAdmin macro ! * `[[Anchor(anchorname)]]` macro to insert anchors into a page, ! and [#anchorname Anchor Links]. * User option to open editor view via a double-click * Added commentary field to editor, recent changes and page info From jhermann at users.sourceforge.net Wed Jan 30 14:05:04 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 30 14:05:04 2002 Subject: [Moin-devel] CVS: MoinMoin/parser wiki.py,1.72,1.73 Message-ID: Update of /cvsroot/moin/MoinMoin/parser In directory usw-pr-cvs1:/tmp/cvs-serv29784/MoinMoin/parser Modified Files: wiki.py Log Message: Anchor links Index: wiki.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -r1.72 -r1.73 *** wiki.py 2002/01/28 20:58:07 1.72 --- wiki.py 2002/01/30 22:04:13 1.73 *************** *** 69,73 **** (?P[A-Z][a-zA-Z]+\:[^\s'\"\:\<]([^\s%(punct)s]|([%(punct)s][^\s%(punct)s]))+) (?P%(word_rule)s) ! (?P\[(%(url)s)\:[^\s\]]+(\s[^\]]+)?\]) (?P%(url_rule)s) (?P[-\w._+]+\@[\w-]+\.[\w.-]+) --- 69,73 ---- (?P[A-Z][a-zA-Z]+\:[^\s'\"\:\<]([^\s%(punct)s]|([%(punct)s][^\s%(punct)s]))+) (?P%(word_rule)s) ! (?P\[((%(url)s)\:|#)[^\s\]]+(\s[^\]]+)?\]) (?P%(url_rule)s) (?P[-\w._+]+\@[\w-]+\.[\w.-]+) *************** *** 306,311 **** words = string.split(word[1:-1], None, 1) if len(words) == 1: words = words * 2 - scheme = string.split(words[0], ":", 1)[0] if scheme == "wiki": return self.interwiki(words, pretty_url=1) if scheme == "attachment": return self.attachment(words, pretty_url=1) --- 306,315 ---- words = string.split(word[1:-1], None, 1) if len(words) == 1: words = words * 2 + if words[0][0] == '#': + # anchor link + return self.formatter.url(words[0], self.highlight_text(words[1])) + + scheme = string.split(words[0], ":", 1)[0] if scheme == "wiki": return self.interwiki(words, pretty_url=1) if scheme == "attachment": return self.attachment(words, pretty_url=1) *************** *** 703,707 **** eol_re = re.compile(r'\r?\n') ! # get text and replaces TABs rawtext = string.expandtabs(self.raw) --- 707,711 ---- eol_re = re.compile(r'\r?\n') ! # get text and replace TABs rawtext = string.expandtabs(self.raw) From jhermann at users.sourceforge.net Wed Jan 30 14:16:07 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 30 14:16:07 2002 Subject: [Moin-devel] CVS: MoinMoin Page.py,1.96,1.97 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv2215 Modified Files: Page.py Log Message: Fix for titlesearch on subpages Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.96 retrieving revision 1.97 diff -C2 -r1.96 -r1.97 *** Page.py 2002/01/24 23:25:22 1.96 --- Page.py 2002/01/30 22:15:36 1.97 *************** *** 284,291 **** # send the page header if self.default_formatter: link = '%s/%s?action=fullsearch&value=%s&literal=1' % ( webapi.getScriptname(), wikiutil.quoteWikiname(self.page_name), ! urllib.quote_plus(self.page_name, '')) title = self.split_title() if self.prev_date: --- 284,294 ---- # send the page header if self.default_formatter: + page_needle = self.page_name + if config.allow_subpages: + page_needle = '/' + string.split(page_needle, '/')[-1] link = '%s/%s?action=fullsearch&value=%s&literal=1' % ( webapi.getScriptname(), wikiutil.quoteWikiname(self.page_name), ! urllib.quote_plus(page_needle, '')) title = self.split_title() if self.prev_date: From jhermann at users.sourceforge.net Wed Jan 30 15:46:08 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 30 15:46:08 2002 Subject: [Moin-devel] CVS: MoinMoin/formatter text_html.py,1.34,1.35 Message-ID: Update of /cvsroot/moin/MoinMoin/formatter In directory usw-pr-cvs1:/tmp/cvs-serv8916/formatter Modified Files: text_html.py Log Message: Replace spaces by hardspaces in inline code sections Index: text_html.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/formatter/text_html.py,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -r1.34 -r1.35 *** text_html.py 2002/01/24 23:10:47 1.34 --- text_html.py 2002/01/30 23:45:42 1.35 *************** *** 43,46 **** --- 43,47 ---- apply(FormatterBase.__init__, (self,), kw) self._in_li = 0 + self._in_code = 0 self._hd_counters = [] self._base_depth = 0 *************** *** 77,80 **** --- 78,83 ---- def text(self, text): + if self._in_code: + return string.replace(cgi.escape(text), ' ', self.hardspace) return cgi.escape(text) *************** *** 114,117 **** --- 117,121 ---- def code(self, on): + self._in_code = on return ['', ''][not on] From jhermann at users.sourceforge.net Wed Jan 30 18:10:03 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Wed Jan 30 18:10:03 2002 Subject: [Moin-devel] CVS: dist/wiki/data/text HelpOnInstalling_2fApacheOnUnix,NONE,1.1 HelpOnInstalling,1.3,1.4 Message-ID: Update of /cvsroot/moin/dist/wiki/data/text In directory usw-pr-cvs1:/tmp/cvs-serv3111 Modified Files: HelpOnInstalling Added Files: HelpOnInstalling_2fApacheOnUnix Log Message: New install docs --- NEW FILE: HelpOnInstalling_2fApacheOnUnix --- ## `jh at localhost:~ > `'''`...`'''[[BR]] ## `...`[[BR]] '''Index''' [[TableOfContents]] == Installation into your home directory == Installation into your shell account's home directory is typically used on a host shared by many users and where you are ''not'' the root user. This usually implies that you cannot change the `httpd.conf` file, and also you cannot copy files into the machine's `cgi-bin` and `htdocs` directories. For this situation, Apache includes the `UserDir` directive, which maps all URLs that start with "`/~username`" to a directory in your home directory, where you have write permissions and thus can install MoinMoin. === Making sure /~username URLs work === This kind of setup can only work if your webmaster has configured the host's Apache server so that the `UserDir` mechanism works. Here's how to check for this: `jh at localhost:~ > `'''`ls -ld public_html`'''[[BR]] `drwxr-xr-x 2 jh users 35 Jan 31 00:29 public_html`[[BR]] If this does not show a listing like above, then you might need to create the `public_html`directory. Note that this directory must be readable (`r-x`) by the web server. `jh at localhost:~ > `'''`lynx -error_file=/dev/stderr -dump http://localhost/~jh/ >/dev/null`'''[[BR]] ` URL=http://localhost/~jh/ (GET)`[[BR]] `STATUS=HTTP/1.1 200 OK`[[BR]] You see here that we get a "`200 OK`" status response, which means that you can access your `public_html` area. If it does not work, you will probably get a "`403 Forbidden`" or a "`404 Not Found`" response. The first one normally indicates that you need to fix the permissions of your home directory (`~`) or your `~/public_html`. But we also need to be able to execute CGI scripts, so we test that, too. `jh at localhost:~ > `'''`cat >~/public_html/test.cgi`'''[[BR]] '''`#!/bin/sh`'''[[BR]] '''`echo Content-Type: text/plain`'''[[BR]] '''`echo`'''[[BR]] '''`echo IT WORKS`'''[[BR]] '''``'''[[BR]] `jh at localhost:~ > `'''`chmod a+rx ~/public_html/test.cgi`'''[[BR]] `jh at localhost:~ > `'''`lynx -dump http://localhost/~jh/test.cgi`'''[[BR]] `IT WORKS`[[BR]] If you see anything else than "`IT WORKS`", then you are not allowed to execute CGI scripts. How you get that to work is not in the scope of this description, ask your webmaster! A working Python installation, and a working `diff` command is also assumed. `jh at localhost:~ > `'''`python -V`'''[[BR]] `Python 2.1`[[BR]] `jh at localhost:~ > `'''`diff --version`'''[[BR]] `diff - GNU diffutils version 2.7`[[BR]] (!) The command line examples show your input in '''`bold typewriter`''', and the sample output in `plain typewriter`. The examples use "`jh`" as the user's name, which means you have to replace your own one whereever "`jh`" appears. The same is true for version numbers (`0.11`) and download URLs. === Getting the distribution archive and doing the basic installation === The following commands will fetch and install the ''nightly CVS tarball'', i.e. the current development version. To get the official distribution version, use an appropriate URL. {{{ mkdir ~/tmp cd ~/tmp wget http://moin.sf.net/files/moin-0.11.tar.gz tar xfz moin-0.11.tar.gz cd moin-0.11 python setup.py --quiet install --home=$HOME --record=install.log }}} This will install the MoinMoin software into the directories "`~/lib/python/MoinMoin`", "`~/bin`", and "`~/share/moin`". You'll find a detailed file list in "`install.log`". === Setting up a wiki instance === The next step is to create a copy of the wiki data and the config file. {{{ mkdir ~/wiki cd ~/wiki cp ~/share/moin/cgi-bin/moin_config.py . cp -r ~/share/moin/data . chmod -R o+rwX data vi moin_config.py }}} The last command starts the editor, you need to at least change the "`data_dir`" and "`url_prefix`" config values, as you can see in the following diff: {{{ @@ -28,4 +28,4 @@ interwikiname = None -data_dir = './data/' -url_prefix = '/wiki' +data_dir = '/home/jh/wiki/data/' +url_prefix = '/~jh/wiki' logo_url = url_prefix + '/img/moinmoin.gif' }}} === Setting up public_html and testing the installation === Now we create the public part of the wiki, which is directly accessible by the web browser. {{{ cd ~/public_html cp -r ~/share/moin/htdocs wiki cp ~/share/moin/cgi-bin/*.cgi . chmod a+rx *.cgi }}} To be able to execute the CGI scripts in your home directory, you need to extend Python's path within those scripts, and possibly adapt the ''bang path'' (that is the first line of the script). So, change "`test.cgi`" similarly to this diff: {{{ @@ -1,2 +1,2 @@ -#! /usr/bin/env python +#! /usr/local/bin/python2.1 @@ -12,2 +12,3 @@ import sys, cgi +sys.path.extend(['/home/jh/wiki', '/home/jh/lib/python']) }}} Finally, you can test your wiki installation by running the ''Moin``Moin CGI Diagnosis'': {{{ lynx -dump http://localhost/~jh/test.cgi }}} If that test works, adapt your "`moin.cgi`" just like you did for " `test.cgi`": {{{ @@ -1,2 +1,2 @@ -#! /usr/bin/env python +#! /usr/local/bin/python2.1 @@ -11,3 +11,4 @@ -#import sys +import sys +sys.path.extend(['/home/jh/wiki', '/home/jh/lib/python']) #sys.path.append('/usr/local/home/USERNAME/lib/python') }}} And now, your wiki should work and is available at the URL "`http://localhost/~jh/moin.cgi`". Conclude your tests by editing and saving the `FrontPage` and checking out `RecentChanges`, which should reflect that edit. Index: HelpOnInstalling =================================================================== RCS file: /cvsroot/moin/dist/wiki/data/text/HelpOnInstalling,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** HelpOnInstalling 2001/12/09 14:33:45 1.3 --- HelpOnInstalling 2002/01/31 02:09:49 1.4 *************** *** 1,115 **** ! HelpContents > HelpOnAdministration > HelpOnInstalling ! ! == How to install your own MoinMoin wiki == ! MoinMoin installation instructions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. ! ! The INSTALL files describe the installation procedure ''before'' distutils support was added. Below you find new information describing that, but INSTALL still contains old information. ! ! Also, consult the HelpOnConfiguration and HelpOnUpdating pages for additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs describes how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. ! ! (!) The '{{{INSTALL}}}' file suggests making a '''"sane installation"'''. I wrote up my idea of a sane installation in MoinMoin:SaneInstallation -- Jeff Kunce ! ! === Basic installation === ! ! Before you can integrate MoinMoin into your web environment, ! you have to do the basic installation using the standard Python ! ''distutils'' mechanism. We'll explain the usual steps you need to ! take to do this. For more details on the distutils installation ! process, consult the [http://www.python.org/doc/current/inst/inst.html Installing Python Modules] document of your ! Python manual. ! ! The first step is to unpack the distribution archive, which you ! have done already when you loaded this instructions from your disk. ! If you read this on the web, the distribution comes in a versioned ! ZIP or TAR archive, which you can unpack in the usual ways, into a ! temporary directory (`/tmp` on UNIX, `C:\TEMP` on Windows). The ! distribution archive will always unpack into a directory named ! `moin-`, for example `moin-0.11`. ! ! After unpacking, to install into a specific directory (`C:\moin` ! in our example), call `setup.py` after changing your current ! directory to the distribution directory. The following commands ! can be used to complete theses steps: ! {{{ ! unzip moin-0.11.zip ! cd moin-0.11 ! python setup.py --quiet install --prefix=C:\moin ! }}} ! ! This creates the following directories in "C:\moin" (note ! that on a UNIX system, the directory layout will be slightly ! different): ! {{{ ! MoinMoin ! MoinMoin/action ! MoinMoin/formatter ! MoinMoin/i18n ! MoinMoin/macro ! MoinMoin/parser ! MoinMoin/py15 ! MoinMoin/scripts ! MoinMoin/support ! MoinMoin/twisted ! MoinMoin/webapi ! Scripts ! share ! share/moin ! share/moin/cgi-bin ! share/moin/data ! share/moin/data/backup ! share/moin/data/cache ! share/moin/data/pages ! share/moin/data/plugin ! share/moin/data/plugin/action ! share/moin/data/plugin/macro ! share/moin/data/text ! share/moin/data/user ! share/moin/htdocs ! share/moin/htdocs/css ! share/moin/htdocs/img ! }}} ! ! You will likely see the following warning: ! ! warning: install: modules installed to 'C:\moin\', which ! is not in Python's module search path (sys.path) -- you'll ! have to change the search path yourself ! ! This means exactly what it says, you need to add your install ! directory to the search path of Python. There are several ways ! to do this: ! ! Environment variable:: Change `PYTHONPATH` in a way that is ! persistent (`/etc/profile.d` on UNIX, `AUTOEXEC.BAT` on W9x, ! the `Properties` item in the context menu of `My Computer` on NT4 and ! W2K) ! ! Apache "httpd.conf":: Use the `SetEnv` directive to set ! `PYTHONPATH` to a suitable value, for example: {{{ ! SetEnv PYTHONPATH "C:\moin" ! }}} ! ! "moin.cgi":: Directly add your installation directory to ! the CGI driver script, like this: {{{ ! import sys ! sys.path.append('C:/moin') ! }}} ! ! If you use the following default installation command, MoinMoin ! will be installed to the Python directory: ! {{{ ! python setup.py --quiet install ! }}} ! ! You won't need to change your `PYTHONPATH` then, but depending ! on your system environment you might not be able to use that ! command, especially when you are not the root user on a UNIX ! system. If you don't know where your Python directory is, this ! command will tell you: ! {{{ ! python -c "import sys; print sys.prefix" ! }}} ! ! The directory structure we showed above will then be created ! in that directory. If you're interested in the exact list of ! files that are installed, use the `--record` option of distutils. --- 1,139 ---- ! HelpContents > HelpOnAdministration > HelpOnInstalling ! ! [[TableOfContents]] ! ! == How to install your own MoinMoin wiki == ! MoinMoin installation instructions of previous versions can be found in the file '{{{INSTALL}}}' in the directory "{{{moin-}}}''version''" after unpacking the distribution archive. In the web, you can find this file [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup here]. For Windows systems running IIS or PWS, consult [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moin/dist/INSTALL.IIS?rev=HEAD&content-type=text/vnd.viewcvs-markup INSTALL.IIS]. These INSTALL files describe the installation procedure ''before'' distutils support was added. Below you find new information applying to version 0.11 and up, but INSTALL still contains possibly valuable information. ! ! Also, consult the HelpOnConfiguration and HelpOnUpdating pages for additional information regarding wiki setup and maintenance. MoinMoin:MoinMoinWinCvs describes how to run your wiki using the current development version from the MoinMoin:SourceForge CVS repository. ! ! In the next section, there is a list of real-world [#installscenarios Installation Scenarios] that help you to understand how to apply the instructions in different environments. ! ! Further down the page, [#installbasics Basic Installation] explains the "`setup.py`" step of the installation in more detail. This applies equally too all scenarios, and you should read it before trying a live installation. ! ! After a successful installation, you might want to read more about configuration and other options that you, as the wiki administrator, can set up. HelpOnAdministration contains links to pages that cover these topics. ! ! ! [[Anchor(installscenarios)]] ! === Sample Installation Scenarios === ! ! The following subpages will show you concrete examples of installation sessions, showing the commands used and explaining what they do. It is highly recommended that you ''first'' read the general information on installing (especially the next section of this page) before choosing an installation scenario that best fits your intended use of MoinMoin. ! ! UNIX: ! * /ApacheOnUnix ! ! Windows: ! * /ApacheOnWin32 ! * /InternetInformationServer ! ! Macintosh: ! * /ApacheOnMacOsx ! ! ! [[Anchor(installbasics)]] ! === Basic Installation === ! ! Before you can integrate MoinMoin into your web environment, ! you have to do the basic installation using the standard Python ! ''distutils'' mechanism. We'll explain the usual steps you need to ! take to do this. For more details on the distutils installation ! process, consult the [http://www.python.org/doc/current/inst/inst.html Installing Python Modules] document of your ! Python manual. ! ! NOTE: You will need the Python Development package installed on unix systems for distutils to work right. ! ! The first step is to unpack the distribution archive, which you ! have done already when you loaded this instructions from your disk. ! If you read this on the web, the distribution comes in a versioned ! ZIP or TAR archive, which you can unpack in the usual ways, into a ! temporary directory (`/tmp` on UNIX, `C:\TEMP` on Windows). The ! distribution archive will always unpack into a directory named ! `moin-`, for example `moin-0.11`. ! ! After unpacking, to install into a specific directory (`C:\moin` ! in our example), call `setup.py` after changing your current ! directory to the distribution directory. The following commands ! can be used to complete theses steps: ! {{{ ! unzip moin-0.11.zip ! cd moin-0.11 ! python setup.py --quiet install --prefix=C:\moin ! }}} ! ! This creates the following directories in "C:\moin" (note ! that on a UNIX system, the directory layout will be slightly ! different): ! {{{ ! MoinMoin ! MoinMoin/action ! MoinMoin/formatter ! MoinMoin/i18n ! MoinMoin/macro ! MoinMoin/parser ! MoinMoin/py15 ! MoinMoin/scripts ! MoinMoin/support ! MoinMoin/twisted ! MoinMoin/webapi ! Scripts ! share ! share/moin ! share/moin/cgi-bin ! share/moin/data ! share/moin/data/backup ! share/moin/data/cache ! share/moin/data/pages ! share/moin/data/plugin ! share/moin/data/plugin/action ! share/moin/data/plugin/macro ! share/moin/data/text ! share/moin/data/user ! share/moin/htdocs ! share/moin/htdocs/css ! share/moin/htdocs/img ! }}} ! ! You will likely see the following warning: ! ! warning: install: modules installed to 'C:\moin\', which ! is not in Python's module search path (sys.path) -- you'll ! have to change the search path yourself ! ! This means exactly what it says, you need to add your install ! directory to the search path of Python. There are several ways ! to do this: ! ! Environment variable:: Change `PYTHONPATH` in a way that is ! persistent (`/etc/profile.d` on UNIX, `AUTOEXEC.BAT` on W9x, ! the `Properties` item in the context menu of `My Computer` on NT4 and ! W2K) ! ! Apache "httpd.conf":: Use the `SetEnv` directive to set ! `PYTHONPATH` to a suitable value, for example: {{{ ! SetEnv PYTHONPATH "C:\moin" ! }}} ! ! "moin.cgi":: Directly add your installation directory to ! the CGI driver script, like this: {{{ ! import sys ! sys.path.append('C:/moin') ! }}} ! ! If you use the following default installation command, MoinMoin ! will be installed to the Python directory: ! {{{ ! python setup.py --quiet install ! }}} ! ! You won't need to change your `PYTHONPATH` then, but depending ! on your system environment you might not be able to use that ! command, especially when you are not the root user on a UNIX ! system. If you don't know where your Python directory is, this ! command will tell you: ! {{{ ! python -c "import sys; print sys.prefix" ! }}} ! ! The directory structure we showed above will then be created ! in that directory. If you're interested in the exact list of ! files that are installed, use the `--record` option of distutils. From jhermann at users.sourceforge.net Thu Jan 31 13:32:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 31 13:32:05 2002 Subject: [Moin-devel] CVS: MoinMoin util.py,1.33,1.34 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv13157 Modified Files: util.py Log Message: Bugfix for rangelist() Index: util.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/util.py,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** util.py 2002/01/31 21:05:27 1.33 --- util.py 2002/01/31 21:31:22 1.34 *************** *** 102,106 **** '1,2-5,7'. """ - result = '' numbers = numbers[:] numbers.sort() --- 102,105 ---- *************** *** 114,118 **** elif numbers[i]+1 != numbers[i+1]: pattern = pattern + str(numbers[i]) + ',' ! return result + pattern[1:-1] --- 113,120 ---- elif numbers[i]+1 != numbers[i+1]: pattern = pattern + str(numbers[i]) + ',' ! ! if pattern[-1] in ',-': ! return pattern[1:-1] ! return pattern[1:] From jhermann at users.sourceforge.net Thu Jan 31 13:32:30 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 31 13:32:30 2002 Subject: [Moin-devel] CVS: MoinMoin/macro RecentChanges.py,1.49,1.50 Message-ID: Update of /cvsroot/moin/MoinMoin/macro In directory usw-pr-cvs1:/tmp/cvs-serv13702/macro Modified Files: RecentChanges.py Log Message: Show editors sorted by their most recent edit Index: RecentChanges.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/macro/RecentChanges.py,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -r1.49 -r1.50 *** RecentChanges.py 2002/01/31 21:08:33 1.49 --- RecentChanges.py 2002/01/31 21:31:54 1.50 *************** *** 153,159 **** if not counters.has_key(name): counters[name] = [] counters[name].append(idx+1) ##buf.write(repr(counters.items())) ! for name, positions in counters.items(): ! buf.write("%s[%s] " % (name, util.rangelist(positions))) else: buf.write(log.getEditor()) --- 153,164 ---- if not counters.has_key(name): counters[name] = [] counters[name].append(idx+1) + poslist = map(None, counters.values(), counters.keys()) + poslist.sort() ##buf.write(repr(counters.items())) ! hardspace = '' ! for positions, name in poslist: ! buf.write("%s%s[%s]
    " % ( ! hardspace, name, util.rangelist(positions))) ! hardspace = ' ' else: buf.write(log.getEditor()) From jeff at corrt.com Thu Jan 31 14:34:02 2002 From: jeff at corrt.com (Jeff Kunce) Date: Thu Jan 31 14:34:02 2002 Subject: [Moin-devel] patch for configurable directories Message-ID: <3.0.2.32.20020131163343.009dcc98@corrt.com> Here's a little patch to config.py that allows configurable locations of data subdirectories. cvs diff config.py (in directory F:\Scratch\moin\MoinMoin\) Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.49 diff -r1.49 config.py 208,212c208,211 < text_dir = os.path.join(data_dir, 'text') < user_dir = os.path.join(data_dir, 'user') < cache_dir = os.path.join(data_dir, 'cache') < backup_dir = os.path.join(data_dir, 'backup') < plugin_dir = os.path.join(data_dir, 'plugin') --- > for dirname in ('text','user','cache','backup','plugin'): > varname = dirname + '_dir' > if not vars().has_key(varname): > vars()[varname] = os.path.join(data_dir, dirname) From jhermann at users.sourceforge.net Thu Jan 31 15:08:05 2002 From: jhermann at users.sourceforge.net (J?rgen Hermann) Date: Thu Jan 31 15:08:05 2002 Subject: [Moin-devel] CVS: MoinMoin config.py,1.49,1.50 Message-ID: Update of /cvsroot/moin/MoinMoin In directory usw-pr-cvs1:/tmp/cvs-serv17904 Modified Files: config.py Log Message: Allow configurable locations of data subdirectories Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -r1.49 -r1.50 *** config.py 2002/01/30 19:27:03 1.49 --- config.py 2002/01/31 23:07:18 1.50 *************** *** 206,215 **** import os data_dir = os.path.normpath(data_dir) - text_dir = os.path.join(data_dir, 'text') - user_dir = os.path.join(data_dir, 'user') - cache_dir = os.path.join(data_dir, 'cache') - backup_dir = os.path.join(data_dir, 'backup') - plugin_dir = os.path.join(data_dir, 'plugin') moinmoin_dir = os.path.abspath(os.path.dirname(__file__)) ! del os --- 206,216 ---- import os data_dir = os.path.normpath(data_dir) moinmoin_dir = os.path.abspath(os.path.dirname(__file__)) ! ! for _dirname in ('text', 'user', 'cache', 'backup', 'plugin'): ! _varname = _dirname + '_dir' ! if not vars().has_key(_varname): ! vars()[_varname] = os.path.join(data_dir, _dirname) ! ! del os, _dirname, _varname From jeff at corrt.com Thu Jan 31 15:22:02 2002 From: jeff at corrt.com (Jeff Kunce) Date: Thu Jan 31 15:22:02 2002 Subject: [Moin-devel] patch for configurable directories Message-ID: <3.0.2.32.20020131172112.009dcdd8@corrt.com> Wow! You were fast on that last patch. Thanks. Here's another tiny patch. It may need some explanation. I have some special purpose markups I use on a wiki, so I need a modified parser. This patch would let me set a different default parser, so I don't have to put a #format PI at the top of every page. cvs diff Page.py config.py (in directory F:\Scratch\moin\MoinMoin\) Index: Page.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/Page.py,v retrieving revision 1.97 diff -r1.97 Page.py 191,192c191 < # default is wiki markup < pi_format = "wiki" --- > pi_format = config.pi_format_default Index: config.py =================================================================== RCS file: /cvsroot/moin/MoinMoin/config.py,v retrieving revision 1.50 diff -r1.50 config.py 153a154 > 'pi_format_default': 'wiki', # default is wiki markup From kopecjc at att.net Thu Jan 31 19:35:02 2002 From: kopecjc at att.net (Joseph C. Kopec) Date: Thu Jan 31 19:35:02 2002 Subject: [Moin-devel] Adding Footnotes to Otherwise Non-Editable Text Message-ID: <3C5A0B53.1010908@att.net> Hello. I am a recent user of MoinMoin and am interested in using it for a project in which a core set of documents should be able to be footnoted (that is, links should be able to be inserted into them), but that should otherwise not be able to be edited. The pages created as a result of the footnoting would be normal, fully-editable wiki pages. Is MoinMoin able to accommodate this?