Mercurial > hg
comparison mercurial/templater.py @ 26334:0a5a774f5956
templater: remove a mutable default argument
Mutable default arguments are know to the state of California to cause bugs.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 24 Sep 2015 01:07:09 -0700 |
parents | 727d57e94cda |
children | 43bf9471fae9 |
comparison
equal
deleted
inserted
replaced
26333:727d57e94cda | 26334:0a5a774f5956 |
---|---|
831 class TemplateNotFound(util.Abort): | 831 class TemplateNotFound(util.Abort): |
832 pass | 832 pass |
833 | 833 |
834 class templater(object): | 834 class templater(object): |
835 | 835 |
836 def __init__(self, mapfile, filters=None, defaults=None, cache={}, | 836 def __init__(self, mapfile, filters=None, defaults=None, cache=None, |
837 minchunk=1024, maxchunk=65536): | 837 minchunk=1024, maxchunk=65536): |
838 '''set up template engine. | 838 '''set up template engine. |
839 mapfile is name of file to read map definitions from. | 839 mapfile is name of file to read map definitions from. |
840 filters is dict of functions. each transforms a value into another. | 840 filters is dict of functions. each transforms a value into another. |
841 defaults is dict of default map definitions.''' | 841 defaults is dict of default map definitions.''' |
842 if filters is None: | 842 if filters is None: |
843 filters = {} | 843 filters = {} |
844 if defaults is None: | 844 if defaults is None: |
845 defaults = {} | 845 defaults = {} |
846 if cache is None: | |
847 cache = {} | |
846 self.mapfile = mapfile or 'template' | 848 self.mapfile = mapfile or 'template' |
847 self.cache = cache.copy() | 849 self.cache = cache.copy() |
848 self.map = {} | 850 self.map = {} |
849 if mapfile: | 851 if mapfile: |
850 self.base = os.path.dirname(mapfile) | 852 self.base = os.path.dirname(mapfile) |