[Mailman-Developers] more template shenanigans

Richard Barrett r.barrett at openinfo.co.uk
Fri Aug 1 01:52:55 EDT 2003


On Friday, August 1, 2003, at 12:36  am, Ron Brogden wrote:

> On July 31, 2003 04:03 pm, you wrote:
>> mailmanctl restart after making the code change. The cache is in
>> process memory and is freshly created on demand within each process
>> each time the mailman daemons or scripts are started. You will also
>> need to rebuild existing mail archives using bin/arch to get the
>> revised templates to affect existing HTML archive pages.
>
> Howdy.  Ok, I now understand a bit more as to what is going on.   I had
> forgotten that Mailman is now effectively resident and that these 
> details
> would be sitting internally in the queue runner process.  When stuff 
> lingered
> around I figured there was a disk cache involved somewhere buried in 
> the
> code. My bad.
>
> I think that the previous "fix" actually did work but I inadvertently 
> came
> across a separate issue which obscured the real problem.  The mangled
> template was a separate issue altogether (removing all language files 
> would
> have made this a moot point anyway).
>
> Here goes. . .
>
> I have edited archtoc.html (as well as the other templates) to give the
> archive a unified look.  After doing so, the archive templates no 
> longer get
> parsed properly (i.e. none of the placeholders get replaced).  Looking 
> at the
> source, the only immediate candidate is the "%" symbol in some of the 
> table
> tags (i.e. "width=100%") but I am not clear yet on how the conversions 
> are
> done.  I know that a dictionary is passed to maketext() which is used 
> but
> what character exactly is screwing up the tag parsing I am unsure.
>

To get a single % use %%. For example, running python from the command 
line this fails:

 >>> t = '%(fred)s:%(bert)s x="100%"'
 >>> v = {'fred': 'abc', 'bert': 'xyz'}
 >>> t % v
Traceback (most recent call last):
   File "<stdin>", line 1, in ?
TypeError: not enough arguments for format string

but this succeeds:

 >>> t = '%(fred)s:%(bert)s x="100%%"'
 >>> v = {'fred': 'abc', 'bert': 'xyz'}
 >>> t % v
'abc:xyz x="100%"'

> I have now restored the stock templates while I troubleshoot but does 
> anyone
> have any tips for trouble shooting a template that no longer parses?
>
> Thanks again for any help you can provide.
>
> Cheers,
>
> Ron
>
>
> _______________________________________________
> Mailman-Developers mailing list
> Mailman-Developers at python.org
> http://mail.python.org/mailman/listinfo/mailman-developers
>
>
-----------------------------------------------------------------------
Richard Barrett                               http://www.openinfo.co.uk




More information about the Mailman-Developers mailing list