Mercurial > public > mercurial-scm > hg-stable
diff mercurial/smartset.py @ 38577:a3130208db1c
stringutil: move _formatsetrepr() from smartset
I'll add a matcher subclass wrapping a boolean function, which will use
buildrepr() to provide debugging information in a similar way to
smartset.filteredset.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 10 Jun 2018 17:19:31 +0900 |
parents | 152f4822d210 |
children | e7aa113b14f7 |
line wrap: on
line diff
--- a/mercurial/smartset.py Sun Jun 10 17:07:29 2018 +0900 +++ b/mercurial/smartset.py Sun Jun 10 17:19:31 2018 +0900 @@ -13,29 +13,9 @@ pycompat, util, ) - -def _formatsetrepr(r): - """Format an optional printable representation of a set - - ======== ================================= - type(r) example - ======== ================================= - tuple ('<not %r>', other) - bytes '<branch closed>' - callable lambda: '<branch %r>' % sorted(b) - object other - ======== ================================= - """ - if r is None: - return '' - elif isinstance(r, tuple): - return r[0] % pycompat.rapply(pycompat.maybebytestr, r[1:]) - elif isinstance(r, bytes): - return r - elif callable(r): - return r() - else: - return pycompat.byterepr(r) +from .utils import ( + stringutil, +) def _typename(o): return pycompat.sysbytes(type(o).__name__).lstrip('_') @@ -392,7 +372,7 @@ @encoding.strmethod def __repr__(self): d = {None: '', False: '-', True: '+'}[self._ascending] - s = _formatsetrepr(self._datarepr) + s = stringutil.buildrepr(self._datarepr) if not s: l = self._list # if _list has been built from a set, it might have a different @@ -514,7 +494,7 @@ @encoding.strmethod def __repr__(self): xs = [pycompat.byterepr(self._subset)] - s = _formatsetrepr(self._condrepr) + s = stringutil.buildrepr(self._condrepr) if s: xs.append(s) return '<%s %s>' % (_typename(self), ', '.join(xs))