##// END OF EJS Templates
templater: pass opened file-like object to templatespec...
Martin von Zweigbergk -
r45870:f3481e4f default
parent child Browse files
Show More
@@ -540,6 +540,7 b' class templatespec(object):'
540 tmpl = attr.ib()
540 tmpl = attr.ib()
541 mapfile = attr.ib()
541 mapfile = attr.ib()
542 refargs = attr.ib(default=None)
542 refargs = attr.ib(default=None)
543 fp = attr.ib(default=None)
543
544
544
545
545 def empty_templatespec():
546 def empty_templatespec():
@@ -556,8 +557,8 b' def literal_templatespec(tmpl):'
556 return templatespec(b'', tmpl, None)
557 return templatespec(b'', tmpl, None)
557
558
558
559
559 def mapfile_templatespec(topic, mapfile):
560 def mapfile_templatespec(topic, mapfile, fp=None):
560 return templatespec(topic, None, mapfile)
561 return templatespec(topic, None, mapfile, fp=fp)
561
562
562
563
563 def lookuptemplate(ui, topic, tmpl):
564 def lookuptemplate(ui, topic, tmpl):
@@ -603,7 +604,7 b' def lookuptemplate(ui, topic, tmpl):'
603 b'map-cmdline.' + tmpl
604 b'map-cmdline.' + tmpl
604 ) or templater.open_template(tmpl)
605 ) or templater.open_template(tmpl)
605 if mapname:
606 if mapname:
606 return mapfile_templatespec(topic, mapname)
607 return mapfile_templatespec(topic, mapname, fp)
607
608
608 # perhaps it's a reference to [templates]
609 # perhaps it's a reference to [templates]
609 if ui.config(b'templates', tmpl):
610 if ui.config(b'templates', tmpl):
@@ -645,7 +646,11 b' def loadtemplater(ui, spec, defaults=Non'
645 assert not (spec.tmpl and spec.mapfile)
646 assert not (spec.tmpl and spec.mapfile)
646 if spec.mapfile:
647 if spec.mapfile:
647 return templater.templater.frommapfile(
648 return templater.templater.frommapfile(
648 spec.mapfile, defaults=defaults, resources=resources, cache=cache
649 spec.mapfile,
650 spec.fp,
651 defaults=defaults,
652 resources=resources,
653 cache=cache,
649 )
654 )
650 return maketemplater(
655 return maketemplater(
651 ui, spec.tmpl, defaults=defaults, resources=resources, cache=cache
656 ui, spec.tmpl, defaults=defaults, resources=resources, cache=cache
@@ -626,13 +626,14 b' def _lookuptemplate(ui, tmpl, style):'
626
626
627 if not tmpl and style:
627 if not tmpl and style:
628 mapfile = style
628 mapfile = style
629 fp = None
629 if not os.path.split(mapfile)[0]:
630 if not os.path.split(mapfile)[0]:
630 (mapname, fp) = templater.open_template(
631 (mapname, fp) = templater.open_template(
631 b'map-cmdline.' + mapfile
632 b'map-cmdline.' + mapfile
632 ) or templater.open_template(mapfile)
633 ) or templater.open_template(mapfile)
633 if mapname:
634 if mapname:
634 mapfile = mapname
635 mapfile = mapname
635 return formatter.mapfile_templatespec(b'changeset', mapfile)
636 return formatter.mapfile_templatespec(b'changeset', mapfile, fp)
636
637
637 return formatter.lookuptemplate(ui, b'changeset', tmpl)
638 return formatter.lookuptemplate(ui, b'changeset', tmpl)
638
639
@@ -994,6 +994,7 b' class templater(object):'
994 def frommapfile(
994 def frommapfile(
995 cls,
995 cls,
996 mapfile,
996 mapfile,
997 fp=None,
997 filters=None,
998 filters=None,
998 defaults=None,
999 defaults=None,
999 resources=None,
1000 resources=None,
@@ -1003,7 +1004,8 b' class templater(object):'
1003 ):
1004 ):
1004 """Create templater from the specified map file"""
1005 """Create templater from the specified map file"""
1005 t = cls(filters, defaults, resources, cache, [], minchunk, maxchunk)
1006 t = cls(filters, defaults, resources, cache, [], minchunk, maxchunk)
1006 fp = _open_mapfile(mapfile)
1007 if not fp:
1008 fp = _open_mapfile(mapfile)
1007 cache, tmap, aliases = _readmapfile(fp, mapfile)
1009 cache, tmap, aliases = _readmapfile(fp, mapfile)
1008 t._loader.cache.update(cache)
1010 t._loader.cache.update(cache)
1009 t._loader._map = tmap
1011 t._loader._map = tmap
General Comments 0
You need to be logged in to leave comments. Login now