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)