##// END OF EJS Templates
revlog: use a "radix" to address revlog...
revlog: use a "radix" to address revlog Instead of pointing to the index directly and to derive the other file from that, we directly provide the radix and let the revlog determine the associated file path internally. This is more robust and will give us more flexibility for picking this file name in the future. Differential Revision: https://phab.mercurial-scm.org/D10576

File last commit:

r41705:a5493a25 default
r47921:8d3c2f9d default
Show More
filters.py
52 lines | 1.1 KiB | text/x-python | PythonLexer
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 """
Commonly useful filters for :func:`attr.asdict`.
"""
from __future__ import absolute_import, division, print_function
from ._compat import isclass
from ._make import Attribute
def _split_what(what):
"""
Returns a tuple of `frozenset`s of classes and attributes.
"""
return (
frozenset(cls for cls in what if isclass(cls)),
frozenset(cls for cls in what if isinstance(cls, Attribute)),
)
def include(*what):
Gregory Szorc
attr: make some docstrings raw strings...
r41705 r"""
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 Whitelist *what*.
:param what: What to whitelist.
:type what: :class:`list` of :class:`type` or :class:`attr.Attribute`\ s
:rtype: :class:`callable`
"""
cls, attrs = _split_what(what)
def include_(attribute, value):
return value.__class__ in cls or attribute in attrs
return include_
def exclude(*what):
Gregory Szorc
attr: make some docstrings raw strings...
r41705 r"""
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 Blacklist *what*.
:param what: What to blacklist.
:type what: :class:`list` of classes or :class:`attr.Attribute`\ s.
:rtype: :class:`callable`
"""
cls, attrs = _split_what(what)
def exclude_(attribute, value):
return value.__class__ not in cls and attribute not in attrs
return exclude_