Message202568
I'm looking at this issue again with an eye toward Python 3.4.
Raymond describes what I think is a reasonable way to use defaults:
>>> x = Template('$foo $bar')
>>> defaults = dict(foo='one', bar='two')
>>> x.substitute(defaults)
'one two'
>>> x.substitute(defaults, bar='three')
'one three'
>>> x.substitute(defaults, foo='nine', bar='three')
'nine three'
(The implementation actually uses ChainMap.)
Now, to address Bfontaine's complaint about passing around tuples, observe that Template instances are Just Instances, so you can always do this:
>>> x = Template('$foo $bar')
>>> x.defaults = defaults
>>> x.substitute(x.defaults, foo='nine', bar='three')
'nine three'
IOW, just stash your defaults on the instance and pass the instance around. Does the Template class actually need more built-in support for defaults? I'm inclined to close this as Won't Fix. |
|
Date |
User |
Action |
Args |
2013-11-10 20:22:21 | barry | set | recipients:
+ barry, georg.brandl, rhettinger, eric.araujo, nitupho, serhiy.storchaka |
2013-11-10 20:22:21 | barry | set | messageid: <1384114941.56.0.439396428353.issue13173@psf.upfronthosting.co.za> |
2013-11-10 20:22:21 | barry | link | issue13173 messages |
2013-11-10 20:22:21 | barry | create | |
|