I think I've got it! see below
I don't think I know what "Dependencies" is for though, and so that part is
probably wrong. But the revision and date seem correct!!
PageRevision.py
from MoinMoin import wikiutil
from MoinMoin.wikiutil import get_unicode, get_bool, get_int, get_float
from MoinMoin.logfile import editlog
Dependencies = []
generates_headings = False
def macro_PageRevision(macro):
request = macro.request
pagename = request.page.page_name
Dependencies = ["pages"] # is this right??
log = editlog.EditLog(request, rootpagename=pagename)
for line in log.reverse():
rev = str(int(line.rev))
tim =
request.user.getFormattedDateTime(wikiutil.version2timestamp(line.ed_time_usecs))
break
return macro.formatter.text("Rev "+rev+" at "+tim)
On Thu, Dec 10, 2009 at 3:41 PM, Kirby Moyers <[email protected]> wrote:
> I'm having trouble making a macro to tell the page rev number
> and last rev date. My short poor attempt is listed below. I am a
> fairly experienced coder, but have never worked with python before.
>
> The calculation of the rev number works sometimes, but
> other times makes an error "unsubscriptable", I guess
> because the expression did not return a list. Is there
> a more reliable way to get the rev number?
>
> The rev date calculation is just me taking shots
> in the dark. I have no firm idea how to find this value.
>
> Anyone got an idea how to find these two values?
>
> As last ditch, I guess I could try to go find the edit-log
> file and read out the last line, but that seemed to violate
> the general flow of the 1.8.5 moinmoin code.
>
> Thanks in advance for any help!!
> -Kirby
>
>
> from MoinMoin.wikiutil import get_unicode, get_bool, get_int, get_float
>
> Dependencies = []
> generates_headings = False
>
> def macro_PageRevision(macro):
> # arguments passed in can be None or a unicode object
>
> Dependencies = ["pages"] # is this right??
>
> # saw suggestion: macro.form.get("rev") which sometimes produces [u'25']
> # saw suggestion: macro.request.page.rev which always produces 0
>
> thisrev = int(macro.form.get("rev")[0])+1 # this actually worked
> sometimes
> thistim = macro.form.get('time', [''])[0] # this never worked
>
> return macro.formatter.text("Rev "+thisrev+" "+thistim)
>
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Moin-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/moin-user