comparison mercurial/hgweb/hgweb_mod.py @ 37221:307ee8883975

hgweb: use registrar to declare "websub" template filter Prepares for adding 'intype' attribute.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 19 Mar 2018 20:39:06 +0900
parents db114320df7e
children 08e042f0a67c
comparison
equal deleted inserted replaced
37220:7f78de1c93aa 37221:307ee8883975
25 formatter, 25 formatter,
26 hg, 26 hg,
27 hook, 27 hook,
28 profiling, 28 profiling,
29 pycompat, 29 pycompat,
30 registrar,
30 repoview, 31 repoview,
31 templatefilters, 32 templatefilters,
32 templater, 33 templater,
33 ui as uimod, 34 ui as uimod,
34 util, 35 util,
168 self.reponame = (self.config('web', 'name', '') 169 self.reponame = (self.config('web', 'name', '')
169 or req.reponame 170 or req.reponame
170 or req.apppath 171 or req.apppath
171 or self.repo.root) 172 or self.repo.root)
172 173
174 filters = {}
175 templatefilter = registrar.templatefilter(filters)
176 @templatefilter('websub')
173 def websubfilter(text): 177 def websubfilter(text):
174 return templatefilters.websub(text, self.websubtable) 178 return templatefilters.websub(text, self.websubtable)
175 179
176 # create the templater 180 # create the templater
177 # TODO: export all keywords: defaults = templatekw.keywords.copy() 181 # TODO: export all keywords: defaults = templatekw.keywords.copy()
189 'style': style, 193 'style': style,
190 'nonce': self.nonce, 194 'nonce': self.nonce,
191 } 195 }
192 tres = formatter.templateresources(self.repo.ui, self.repo) 196 tres = formatter.templateresources(self.repo.ui, self.repo)
193 tmpl = templater.templater.frommapfile(mapfile, 197 tmpl = templater.templater.frommapfile(mapfile,
194 filters={'websub': websubfilter}, 198 filters=filters,
195 defaults=defaults, 199 defaults=defaults,
196 resources=tres) 200 resources=tres)
197 return tmpl 201 return tmpl
198 202
199 def sendtemplate(self, name, **kwargs): 203 def sendtemplate(self, name, **kwargs):