On Wednesday 09 July 2003 15:37, Sergey Volobuev wrote:
But it is still ugly :((
Soon after I started using Zope, I created a <dtml-unitws> tag that replaces blocks of whitespace with a single character. The code looks a little dated, but is still functional. Examle usage below, followed by code. I hope this helps. <dtml-unitws> <dtml-in xxx> <dtml-if comecondition> <dtml-var somevariable> </dtml-if> </dtml-in> </dtml-unitws> from string import split, strip, join, replace import DocumentTemplate.DT_Util from DocumentTemplate.DT_String import String class UnitWhitespaceTag: """ Removes redundant whitespace (not very conservatively) """ name='zcunitws' blockContinuations=() def __init__(self, blocks): tname, args, section = blocks[0] args = DocumentTemplate.DT_Util.parse_params(args) self.blocks = section.blocks def render(self,md): a = [] for line in split(DocumentTemplate.DT_Util.render_blocks(self.blocks, md),'\n'): line = strip(line) if line: b = [] for word in split(line,' '): b.append(strip(word)) a.append(join(b,' ')) return join(a,'\n') __call__=render String.commands['unitws']=UnitWhitespaceTag -- Toby Dickenson http://www.geminidataloggers.com/people/tdickenson