Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/logcmdutil.py @ 37773:0f084741cd66
logcmdutil: pass formatter to jsonchangeset as argument
And rename the class. Now we can reuse it for 'log -Tcbor' (and '-Tpickle'
if we want.)
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 13 Apr 2018 23:07:12 +0900 |
parents | 814151cd8c4a |
children | e0f30c91dfd8 |
comparison
equal
deleted
inserted
replaced
37772:814151cd8c4a | 37773:0f084741cd66 |
---|---|
308 if diff: | 308 if diff: |
309 self._differ.showdiff(self.ui, ctx, diffopts, stat=False) | 309 self._differ.showdiff(self.ui, ctx, diffopts, stat=False) |
310 if stat or diff: | 310 if stat or diff: |
311 self.ui.write("\n") | 311 self.ui.write("\n") |
312 | 312 |
313 class jsonchangeset(changesetprinter): | 313 class changesetformatter(changesetprinter): |
314 '''format changeset information.''' | 314 """Format changeset information by generic formatter""" |
315 | 315 |
316 def __init__(self, ui, repo, differ=None, diffopts=None, buffered=False): | 316 def __init__(self, ui, repo, fm, differ=None, diffopts=None, |
317 buffered=False): | |
317 changesetprinter.__init__(self, ui, repo, differ, diffopts, buffered) | 318 changesetprinter.__init__(self, ui, repo, differ, diffopts, buffered) |
318 self._fm = formatter.jsonformatter(ui, ui, 'log', {}) | 319 self._fm = fm |
319 | 320 |
320 def close(self): | 321 def close(self): |
321 self._fm.end() | 322 self._fm.end() |
322 | 323 |
323 def _show(self, ctx, copies, props): | 324 def _show(self, ctx, copies, props): |
517 If all of these values are either the unset or the empty string, | 518 If all of these values are either the unset or the empty string, |
518 regular display via changesetprinter() is done. | 519 regular display via changesetprinter() is done. |
519 """ | 520 """ |
520 postargs = (differ, opts, buffered) | 521 postargs = (differ, opts, buffered) |
521 if opts.get('template') == 'json': | 522 if opts.get('template') == 'json': |
522 return jsonchangeset(ui, repo, *postargs) | 523 fm = ui.formatter('log', opts) |
524 return changesetformatter(ui, repo, fm, *postargs) | |
523 | 525 |
524 spec = _lookuptemplate(ui, opts.get('template'), opts.get('style')) | 526 spec = _lookuptemplate(ui, opts.get('template'), opts.get('style')) |
525 | 527 |
526 if not spec.ref and not spec.tmpl and not spec.mapfile: | 528 if not spec.ref and not spec.tmpl and not spec.mapfile: |
527 return changesetprinter(ui, repo, *postargs) | 529 return changesetprinter(ui, repo, *postargs) |