Add MOTD display to hgweb and hgwebdir.
The hgweb "footer" template now has space for an optional message of
the day (MOTD). This is used in two contexts:
1) On the hgwebdir index page
2) On various pages of each individual repo
For both cases, the MOTD is read out of an entry named "motd" in the
[web] section of a config file -- the only difference is which file is
used. For #1, you need to add the section to hgweb.config; for #2, you
need to add to the repo's .hgrc file.
I suggest something like this:
[web]
motd = <p>To download these repositories, <a href="http://www.selenic.com/mercurial">get Mercurial</a> and then type something like:</p><p><pre>hg clone http://gs3080.sp.cs.cmu.edu/hg.cgi/cpmpy</pre></p>You can also click the Download links to get an archive of the latest revision.
An online sample is available here:
http://gs3080.sp.cs.cmu.edu/hg.cgi
import getopt
def fancyopts(args, options, state):
long = []
short = ''
map = {}
dt = {}
for s, l, d, c in options:
pl = l.replace('-', '_')
map['-'+s] = map['--'+l] = pl
state[pl] = d
dt[pl] = type(d)
if not d is None and not callable(d):
if s: s += ':'
if l: l += '='
if s: short = short + s
if l: long.append(l)
opts, args = getopt.getopt(args, short, long)
for opt, arg in opts:
if dt[map[opt]] is type(fancyopts): state[map[opt]](state,map[opt],arg)
elif dt[map[opt]] is type(1): state[map[opt]] = int(arg)
elif dt[map[opt]] is type(''): state[map[opt]] = arg
elif dt[map[opt]] is type([]): state[map[opt]].append(arg)
elif dt[map[opt]] is type(None): state[map[opt]] = 1
return args